Exemple #1
0
    private IEnumerator SpawnEffect(SpriteRenderer renderer)
    {
        Material spawnMat = new Material(MaterialDict.Instance.SpawnMaterial);

        renderer.material = spawnMat;

        yield return(EntityMaterialManager.SpawnEffect(spawnMat, 0.75f));
    }
Exemple #2
0
 private void Start()
 {
     if (IsAI == false)
     {
         PlayersDict.Instance.Register(this);
     }
     EntityMaterialManager.PlaySpawnEffect();
 }
Exemple #3
0
    /// <summary>
    /// Inits the Enemy.
    /// </summary>
    /// <param name="enemyObject">The enemy object.</param>
    /// <param name="roomBorder">The border of the room the enemy spawned in.</param>
    public void Set(EnemyObject enemyObject, Rect roomBorder)
    {
        if (IsBoss == false)
        {
            EntityMaterialManager.PlaySpawnEffect();
        }

        Brain.tree = enemyObject.BehaviourTree;

        carryingWeapons = enemyObject.Weapons;
        EquippedWeapon.Swap(enemyObject.Weapons[0]);

        Brain.BrainMover.meterPerSecond = enemyObject.Stats.metersPerSecond;
        Brain.BrainMover.RoomBounds     = roomBorder;

        Health.Init(enemyObject.Stats.maxHealth);

        entityName = enemyObject.name;
    }
Exemple #4
0
    public IEnumerator InnerDespawnPickable()
    {
        if (spawnRoutine != null && spawnRoutine.IsFinshed == false)
        {
            spawnRoutine.Stop(false);
        }

        SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer>();
        Material       despawnMat     = new Material(MaterialDict.Instance.SpawnMaterial);

        spriteRenderer.material = despawnMat;

        yield return(EntityMaterialManager.DeSpawnEffect(despawnMat, 0.75f));

        if (gameObject && isServer)
        {
            NetworkServer.Destroy(gameObject);
        }
    }
    public void Die()
    {
        Health health             = GetComponent <Health>();
        EntityMaterialManager emm = GetComponent <EntityMaterialManager>();
        Enemy enemy = GetComponent <Enemy>();

        if (health.isServer)
        {
            if (enemy)
            {
                enemy.Brain.enabled = false;
            }
            emm.PlayDeSpawnEffect(onFinished: Despawn);
        }
        else
        {
            emm.PlayDeSpawnEffect(onFinished: null);
        }

        health.enabled   = false;
        gameObject.layer = LayerDict.Instance.GetUnhittableLayer();
    }