private void SpawnEntity() { Entity instance = GameObject.Instantiate(prefab); instance.transform.position = targetPosition; ShieldEntity element = instance.gameObject.AddComponent <ShieldEntity>(); element.Initialize(entitySpawner, instance); }
public void Start() { Weapon = Owner.GetComponent <WeaponComponent>(); ShieldOffset = (Owner.Rectangle.Size - ShieldEntity.Rectangle.Size).Half + new Distance(Owner.Rectangle.X, Owner.Rectangle.Y); var shieldRender = ShieldEntity.GetComponent <RenderComponent>(); shieldRender.Condition = () => CooldownTimer == 0; // Spawn shield ShieldEntity.Position = Owner.Position + ShieldOffset; Vrax.World.AddEntity(ShieldEntity); }
public void ElementWasDestroyed(ShieldEntity entity) { if (isDestroying) { return; } activeShieldEntities.Remove(entity); ShieldEntityEffect effect = SpawnEntity(); effect.transform.position = entity.transform.position; effect.EnterOrbit(this, (int)Shield.CurrentLayers); shieldEffectsWaitingToGetShield.Enqueue(effect); PollCreateShield(); }
public EquipData SetShield(float shieldLivingTime, float shieldReloadingTime) { shieldEntity = new ShieldEntity(shieldLivingTime, shieldReloadingTime); return(this); }
public void AddShieldEntity(ShieldEntity shieldEntity) { activeShieldEntities.Add(shieldEntity); }