Inheritance: MonoBehaviour
Beispiel #1
0
    protected virtual void Start()
    {
        speed = new Vector2(0, 0);

        direction = CharacterDirection.DOWN;
        status    = CharacterStatus.IDLE;

        baseSprite     = transform.Find("BaseSprite").gameObject;
        spriteRenderer = baseSprite.GetComponent <SpriteRenderer>();

        effectParent = transform.Find("EffectParent").gameObject;
        shadowParent = transform.Find("ShadowParent").gameObject;

        idleAnimation   = GetComponent <IdleAnimation>();
        walkAnimation   = GetComponent <WalkAnimation>();
        damageAnimation = GetComponent <DamageAnimation>();
        attackAnimation = GetComponent <AttackAnimation>();

        GameManager instaince = GameManager.Instance;
        GameObject  shadow    = instaince.spriteFactory.instatiateShadow(shadowParent, SpriteFactory.ShadowType.Midiam);

        shadow.transform.Translate(new Vector3(0, 0, -1));
    }
Beispiel #2
0
        /// Loads required resources for this creature
        public override void load(ContentManager content)
        {
            base.load(content);
            AbilityFiles.ForEach(af => {
                Ability ability = content.Load <Ability>(af);
                if (Abilities.Where(a => a.Title == ability.Title).Count() == 0)
                {
                    addAbility(ability.clone() as Ability);
                }
            });

            Abilities.ForEach(a => a.load(content));

            if (DeathSoundFile != null)
            {
                DeathSound = content.Load <SoundEffect>(DeathSoundFile);
            }

            if (AttackSoundFile != null)
            {
                AttackSound = content.Load <SoundEffect>(AttackSoundFile);
            }

            if (DamageSoundFile != null)
            {
                DamageSound = content.Load <SoundEffect>(DamageSoundFile);
            }

            if (LevelUpSoundFile != null)
            {
                LevelUpSound = content.Load <SoundEffect>(LevelUpSoundFile);
            }

            if (DeathAnimationAsset != null)
            {
                DeathAnimationAsset.load(content);
            }
            if (AttackAnimationAsset != null)
            {
                AttackAnimationAsset.load(content);
            }
            if (DamageAnimationAsset != null)
            {
                DamageAnimationAsset.load(content);
            }
            if (LevelUpAnimationAsset != null)
            {
                LevelUpAnimationAsset.load(content);
            }

            if (DeathAnimation != null)
            {
                DeathAnimation.load(content);
                DeathAnimation.Origin = this;
            }

            if (AttackAnimation != null)
            {
                AttackAnimation.load(content);
                AttackAnimation.Origin = this;
            }

            if (DamageAnimation != null)
            {
                DamageAnimation.load(content);
                DamageAnimation.Origin = this;
            }

            if (LevelUpAnimation != null)
            {
                LevelUpAnimation.load(content);
                LevelUpAnimation.Origin = this;
            }

            if (ClassAsset != null)
            {
                ClassAsset.load(content);
            }
            if (Class != null)
            {
                Class.Creature = this;
            }
        }