From 1f280cb06cc579c2a98d215e202dc0642fb40a3d Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Mon, 2 Jan 2017 19:34:09 +0100 Subject: Initial --- Items.c4d/Filler.c4d/Script.c | 95 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Items.c4d/Filler.c4d/Script.c (limited to 'Items.c4d/Filler.c4d/Script.c') diff --git a/Items.c4d/Filler.c4d/Script.c b/Items.c4d/Filler.c4d/Script.c new file mode 100644 index 0000000..7459a08 --- /dev/null +++ b/Items.c4d/Filler.c4d/Script.c @@ -0,0 +1,95 @@ +#strict 2 +#include UT7I + +func ControlDigDouble(object caller) +{ + if(DenyContainedDirectCom()) + { + return false; + } + return Detach(); +} + +func ControlThrow(object caller) +{ + if(DenyContainedDirectCom()) + { + return false; + } + if(!Contents(0, caller)) + { + RetrieveObjectThroughTube(); + return ClearLastPlrCom(GetController(caller)) || true; + } + return false; +} + +func ControlUp(object caller) +{ + if(DenyContainedDirectCom()) + { + return false; + } + return RetrieveMenu(caller); +} + +func AttachObjectCondition(object caller) +{ + return _inherited(caller, Find_GrabPutGet(C4D_GrabPut), ...); +} + +func Activate(object caller) +{ + return AttachMenu(caller, true); +} + +func AcceptsObject(object obj, id id) +{ + var attached = Attached() || Contained(); + return !attached || CanCollect(attached, obj, id); +} + +func RejectCollect(id id, object obj) +{ + return !AcceptsObject(obj, id); +} + +func Collection2(object obj) +{ + return TryPut(obj) || Exit(obj); +} + +func SensorCallbacks() +{ + var ret = [["$RetrieveObject$", BindCallback("RetrieveObjectThroughTube", [1, 2])]]; + for(var id in GetRetrievableIDs()) + { + ret[GetLength(ret)] = [Format("$RetrieveObjectType$", GetName(0, id)), BindCallback("RetrieveObjectThroughTube", [Bind(id), 2]), id]; + } + for(var part in GetRetrievableIDs(true)) + { + for(var id in part[1]) + { + ret[GetLength(ret)] = [Format("$RetrieveObjectType$", GetName(0, id)), BindCallback("RetrieveObjectThroughTube", [Bind(id), 2]), id]; + } + } + return ret; +} + +func AttachContextRetrieve(object caller) +{ + [$RetrieveObject$|Image=FI7I] + return RetrieveMenu(caller); +} + +func IsProducerOf(object caller, id def) +{ + return CanRetrieveObject(def); +} + +func HowToProduce(object caller, id def, object excludeOrigin) +{ + return SetRetrieveCommands(def, caller, true, excludeOrigin) || true; +} + +func IsRetriever() { return true; } -- cgit v1.2.3-54-g00ecf