/// <summary> /// /!\ The creation of <see cref="PlayerAimRangeFeedbackSystem"/> must absolutely be done after that physics objects have been taken into account from the physics engine. /// This is because the <paramref name="FiringPlayerActionTargetSystemRef"/> uses operations on newly created physics object to calculate /// the target direction <see cref="FiringPlayerActionTargetSystem.Tick"/> /// </summary> public PlayerAimRangeFeedbackSystem(CoreInteractiveObject playerInteractiveObject, FiringPlayerActionTargetSystem FiringPlayerActionTargetSystemRef) { IsInitialized = true; PlayerInteractiveObject = playerInteractiveObject; this.FiringPlayerActionTargetSystemRef = FiringPlayerActionTargetSystemRef; this.firingRangeFeedbackRangeObject = new FiringRangeFeedbackRangeObject( InteractiveGameObjectFactory.Build_Allocate(new GameObject("FiringRangeFeedbackRangeObject")), PlayerAimingRangeFeedbackConfigurationGameObject.Get().playerAimingRangeVisualFeedbackConfiguration.FiredProjectileFeedbackPrefab, playerInteractiveObject); this.firingRangeFeedbackRangeObject.InitializeRaybox(CalculateFiringTargetPosition()); }
public override CoreInteractiveObject BuildInteractiveObject(GameObject interactiveGameObject) { return(new ObstacleInteractiveObject(InteractiveGameObjectFactory.Build_Allocate(interactiveGameObject), this)); }
protected override CoreInteractiveObject InitializationLogic() { return(new HealthGlobeInteractiveObject(this.RuntimeHealthGlobeInteractiveObjectDefinition, InteractiveGameObjectFactory.Build_Allocate(this.gameObject), this.BeziersControlPointsBuildInput)); }
public override void Init() { new LevelChunkInteractiveObject(InteractiveGameObjectFactory.Build(gameObject), this.LevelChunkInteractiveObjectDefinition); }
protected override CoreInteractiveObject InitializationLogic() { var PlayerInteractiveObject = new PlayerInteractiveObject(InteractiveGameObjectFactory.Build_Allocate(gameObject), this.PlayerInteractiveObjectDefinition); return(PlayerInteractiveObject); }
protected override CoreInteractiveObject InitializationLogic() { return(new LevelChunkInteractiveObject(InteractiveGameObjectFactory.Build_Allocate(gameObject), this.LevelChunkInteractiveObjectDefinition)); }
public Weapon BuildWeapon(CoreInteractiveObject WeaponHolder) { var weaponModelPrefab = Instantiate(this.WeaponModelPrefab); return(new Weapon(InteractiveGameObjectFactory.Build_Allocate(weaponModelPrefab), this, WeaponHolder)); }
public FiredProjectile BuildFiredProjectile(CoreInteractiveObject WeaponHolder) { var FiredProjectileModel = Instantiate(this.FiredProjectileModelPrefab); return(new FiredProjectile(InteractiveGameObjectFactory.Build_Allocate(FiredProjectileModel), this, WeaponHolder)); }
public override void Init() { new ObstacleInteractiveObject(InteractiveGameObjectFactory.Build(this.gameObject), InteractiveObjectInitializerData); }
public override void Init() { var PlayerInteractiveObject = new PlayerInteractiveObject(InteractiveGameObjectFactory.Build(gameObject), InteractiveObjectLogicCollider, LocomotionAnimation); PlayerInteractiveObjectManager.Get().Init(PlayerInteractiveObject); }