public HealthGlobeInteractiveObject(HealthGlobeInteractiveObjectDefinitionStruct healthGlobeInteractiveObjectDefinitionStruct, IInteractiveGameObject interactiveGameObject, BeziersControlPointsBuildInput BeziersControlPointsBuildInput, bool IsUpdatedInMainManager = true) { this.HealthGlobeInteractiveObjectDefinitionStruct = healthGlobeInteractiveObjectDefinitionStruct; this.interactiveObjectTag = new InteractiveObjectTag() { IsGivingHealth = true }; interactiveGameObject.CreateLogicCollider(healthGlobeInteractiveObjectDefinitionStruct.InteractiveObjectSphereLogicColliderDefinitionStruct); base.BaseInit(interactiveGameObject, IsUpdatedInMainManager); this.SpawnBeziersMovementSystem = new BeziersMovementSystem(BeziersControlPointsBuildInput, this.OnHealthGlobeSpawnBeziersMovementEnded); this.SpawnBeziersMovementSystem.StartBeziersMovement(); }
/// <summary> /// This event is called from <see cref="SpawnBeziersMovementSystem"/> and creates the <see cref="RecoveringHealthEmitterSystem"/> that allow player to recover /// health. /// </summary> private void OnHealthGlobeSpawnBeziersMovementEnded(BeziersMovementSystem BeziersMovementSystem) { this.RecoveringHealthEmitterSystem = new RecoveringHealthEmitterSystem(this, HealthGlobeInteractiveObjectDefinitionStruct.RecoveringHealthEmitterSystemDefinitionStruct, OnHealthRecoveredCallback: this.OnHealthRecovered); }
public void OnBeziersMovementEnded(BeziersMovementSystem BeziersMovementSystem) { this.AllBeziersMovementSystemsRunning.Remove(BeziersMovementSystem); }
private void OnBeziersMovementStarted(BeziersMovementSystem BeziersMovementSystem) { this.AllBeziersMovementSystemsRunning.Add(BeziersMovementSystem); }
public void OnBeziersMovementSystemDestroyed(BeziersMovementSystem BeziersMovementSystem) { BeziersMovementSystem.UnRegisterOnMovementStartEvent(this.OnBeziersMovementStarted); BeziersMovementSystem.UnRegisterOnMovementEndEvent(this.OnBeziersMovementEnded); }
public void OnBeziersMovementSystemCreated(BeziersMovementSystem BeziersMovementSystem) { BeziersMovementSystem.RegisterOnMovementStartEvent(this.OnBeziersMovementStarted); BeziersMovementSystem.RegisterOnMovementEndEvent(this.OnBeziersMovementEnded); }