void OnMovementStarted(WorldWalker walker) { animationController.PlayExclusive("Assets/Units/Dog/Models/Dog_Run_Cycle_.ani", 0, true); animationController.SetSpeed("Assets/Units/Dog/Walk.ani", 2); currentState.MovementStarted(); }
void RegisterEvents(WorldWalker walker) { walker.MovementStarted += OnMovementStarted; walker.MovementFinished += OnMovementFinished; walker.MovementFailed += OnMovementFailed; walker.MovementCanceled += OnMovementCanceled; }
void OnMovementStarted(WorldWalker walker) { animationController.PlayExclusive("Assets/Units/Chicken/Models/Walk.ani", 0, true); animationController.SetSpeed("Assets/Units/Chicken/Models/Walk.ani", 2); Shooter.StopShooting(); if (!AttackMove) { Shooter.SearchForTarget = false; } }
public override void LoadState(PluginDataWrapper pluginData) { animationController = CreateAnimationController(Unit); walker = Unit.GetDefaultComponent <WorldWalker>(); attacker = Unit.GetDefaultComponent <MovingMeeleAttacker>(); RegisterEvents(); var reader = pluginData.GetReaderForWrappedSequentialData(); healthBar = HealthBarControl.Load(Level, Unit, reader); reader.GetNext(out bool attackMove); AttackMove = attackMove; }
void RegisterEvents(WorldWalker walker, Shooter shooter, UnitSelector selector) { walker.MovementStarted += OnMovementStarted; walker.MovementFinished += OnMovementFinished; walker.MovementFailed += OnMovementFailed; walker.MovementCanceled += OnMovementCanceled; shooter.BeforeShotFired += BeforeShotFired; shooter.TargetAutoAcquired += OnTargetAutoAcquired; shooter.TargetDestroyed += OnTargetDestroyed; selector.UnitSelected += OnUnitSelected; }
public override void LoadState(PluginDataWrapper pluginData) { animationController = CreateAnimationController(Unit); walker = Unit.GetDefaultComponent <WorldWalker>(); RegisterEvents(walker); var reader = pluginData.GetReaderForWrappedSequentialData(); healthBar = HealthBarControl.Load(Level, Unit, reader); currentState = State.Load(reader, this); reader.GetNext(out int treeID); targetTree = treeID != 0 ? (Tree)Level.GetBuilding(treeID).BuildingPlugin : null; reader.GetNext(out int cutterID); Cutter = (TreeCutter)Level.GetBuilding(cutterID).BuildingPlugin; }
public static Chicken CreateNew(ILevelManager level, IUnit unit, ChickenType type) { Chicken newChicken = new Chicken(level, unit, type); newChicken.animationController = unit.CreateComponent <AnimationController>(); newChicken.Walker = WorldWalker.CreateNew(newChicken, level); newChicken.Shooter = Shooter.CreateNew(newChicken, level, type.ProjectileType, new Vector3(0, 0.7f, -0.7f), 20); newChicken.Shooter.SearchForTarget = true; newChicken.Shooter.TargetSearchDelay = 2; newChicken.healthBar = new HealthBarControl(level, unit, 100, new Vector3(0, 15, 0), new Vector2(0.5f, 0.1f), true); var selector = UnitSelector.CreateNew(newChicken, level); MovingRangeTarget.CreateNew(newChicken, level, new Vector3(0, 0.5f, 0)); newChicken.RegisterEvents(newChicken.Walker, newChicken.Shooter, selector); return(newChicken); }
public Dog(ILevelManager level, IUnit unit, DogType myType, bool loading) : base(level, unit) { this.myType = myType; this.distCalc = new DogDistCalc(this, 0.5f, 0.2f, 1); unit.AlwaysVertical = false; if (loading) { return; } animationController = CreateAnimationController(Unit); walker = WorldWalker.CreateNew(this, level); RegisterEvents(walker); MovingRangeTarget.CreateNew(this, level, targetOffset); healthBar = new HealthBarControl(level, unit, 100, new Vector3(0, 1, 0), new Vector2(0.5f, 0.1f), true); currentState = new SearchingForTree((State)null, this); }
public static Wolf CreateNew(ILevelManager level, IUnit unit, WolfType myType) { Wolf wolf = new Wolf(level, unit, myType); wolf.animationController = CreateAnimationController(unit); wolf.walker = WorldWalker.CreateNew(wolf, level); wolf.attacker = MovingMeeleAttacker.CreateNew(wolf, level, true, new IntVector2(20, 20), 1, 5, 0.5f); wolf.healthBar = new HealthBarControl(level, unit, 100, new Vector3(0, 0.7f, 0), new Vector2(0.5f, 0.1f), true); UnitSelector.CreateNew(wolf, level); MovingRangeTarget.CreateNew(wolf, level, targetOffset); unit.AlwaysVertical = false; wolf.RegisterEvents(); return(wolf); }
void OnMovementCanceled(WorldWalker walker) { animationController.Stop("Assets/Units/Chicken/Models/Walk.ani"); Shooter.SearchForTarget = true; Shooter.ResetShotDelay(); }
void OnMovementCanceled(WorldWalker walker) { animationController.Stop("Assets/Units/Dog/Models/Dog_Run_Cycle_.ani"); currentState.MovementCanceled(); }
void OnMovementCanceled(WorldWalker walker) { animationController.Stop("Assets/Units/Wolf/Models/Wolf_Run_cycle_.ani"); }
void OnMovementStarted(WorldWalker walker) { animationController.PlayExclusive("Assets/Units/Wolf/Models/Wolf_Run_cycle_.ani", 0, true); animationController.SetSpeed("Assets/Units/Wolf/Models/Wolf_Run_cycle_.ani", 1); }