public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (WatchedObject == null || WatchedObject.Id == data.id) WatchedObject = newActor; }; string[] actors = generator.Gui.ActorNames; actorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == Actor.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); if (WatchedObject == null) { WatchedObject = generator.GetActor(0); // dont get global actor bec it could be anywhere } watchedActorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == WatchedObject.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); comparisonDropDown = new DropDown( (int)TriggerWhenDistance, System.Enum.GetNames(typeof(Comparison))); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; string[] actors = generator.Gui.ActorNames; actorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == Reactor.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; if (FixedToObject) { Reactor.transform.parent = FixedToObject.transform; Reactor.transform.localPosition = Offset; } // gui stuff string[] actors = generator.Gui.ActorNames; actorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == Reactor.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (TargetObject == null || TargetObject.Id != data.id) { TargetObject = newActor; } }; string selectedName = ""; if (TargetObject != null) selectedName = TargetObject.Label; actorDropdown = new ActorDropDown( System.Array.FindIndex(generator.Gui.ActorNames, item => item == selectedName), generator.Gui.ActorNames, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (WinningActor != null && WinningActor.Id == data.id) { WinningActor = newActor; } if (LosingActor != null && LosingActor.Id == data.id) { LosingActor = newActor; } }; int selected = 0; string[] endingNames = System.Enum.GetNames(typeof(GameEnd)); endingDropDown = new DropDown(0, endingNames); if (WinningActor != null) selected = System.Array.FindIndex(generator.Gui.ActorNames, item => item == WinningActor.Label); winningDropDown = new ActorDropDown(selected, generator.Gui.ActorNames, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); selected = 0; if (LosingActor != null) selected = System.Array.FindIndex(generator.Gui.ActorNames, item => item == LosingActor.Label); losingDropDown = new ActorDropDown(selected, generator.Gui.ActorNames, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (CollideWithActor != null && CollideWithActor.Id == data.id) CollideWithActor = newActor; }; // setting up gui elements - actors string[] actors = generator.Gui.ActorNames; actorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == Actor.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); // gui - tags tagDropDown = new DropDown(PossibleCollisionTags.FindIndex(item => item == CollideWithTag), PossibleCollisionTags.ToArray()); // gui - collision with other actor int index = 0; if (CollideWithActor != null) index = System.Array.FindIndex(actors, item => item == CollideWithActor.Label); collisionActorDropDown = new ActorDropDown(index, actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); // gui - triggering triggerDropDown = new DropDown((int)TriggerOn, System.Enum.GetNames(typeof(CollisionPhase))); // gui - choosing which kinds of objects to trigger int init = 0; if (CollideWithActor != null) init = 1; chooseObjectKindDropDown = new DropDown(init, new string[] { "any object which is a", "the actor" }); SubscribeRelay(); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (ObjectToDeactivate != null && ObjectToDeactivate.Id == data.id) { ObjectToDeactivate = newActor; } }; if (ObjectToDeactivate == null) { ObjectToDeactivate = Reactor; } actorDropDown = new ActorDropDown( System.Array.FindIndex(generator.Gui.ActorNames, item => item == Reactor.Label), generator.Gui.ActorNames, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); targetObjectDropDown = new DropDown( (int)TargetObj, System.Enum.GetNames(typeof(TargetObject))); }
public override void Initialize(RuleGenerator generator) { base.Initialize(generator); this.generator = generator; generator.OnActorGOChanged += delegate(ActorData data, Actor newActor, RuleGenerator ruleGenerator) { if (ActorDirectionIsRelativeTo != null && ActorDirectionIsRelativeTo.Id == data.id) { ActorDirectionIsRelativeTo = newActor; } }; if (Reactor.rigidbody == null) Reactor.gameObject.AddComponent<Rigidbody>(); Reactor.rigidbody.freezeRotation = true; Reactor.rigidbody.useGravity = false; string[] actors = generator.Gui.ActorNames; actorDropDown = new ActorDropDown( System.Array.FindIndex(actors, item => item == Reactor.Label), actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); moveDirectionDropdown = new DropDown((int)MoveDirection, System.Enum.GetNames(typeof(Direction))); relativeToDropdown = new DropDown((int)DirectionRelativeTo, System.Enum.GetNames(typeof(RelativeTo))); relativeActorDropDown = new ActorDropDown( ActorDirectionIsRelativeTo != null ? System.Array.FindIndex(actors, item => item == ActorDirectionIsRelativeTo.Label) : 0, actors, ref generator.Gui.OnAddedActor, ref generator.Gui.OnRenamedActor, ref generator.Gui.OnDeletedActor); }