Exemplo n.º 1
0
 public virtual void Init(eEntityType type, eEntityLookDir baseDir, int subType)
 {
     _type             = type;
     _baseLookDir      = baseDir;
     _logicIntevalSec  = Util.LogicInterval(type);
     _waitLogicInteval = new WaitForSeconds(_logicIntevalSec);
 }
Exemplo n.º 2
0
    public override void Init(eEntityType type, eEntityLookDir baseDir, int subType)
    {
        base.Init(type, baseDir, subType);
        _physics = new SimplePhysics(_rigidbody, _node);
        _physics.AttackColliderList += OnHitColliderList;
        _physics.SomethingCollide   += OnSomethingCollide;
        _physics.SetGrivityModify(0);
        _speed        = 5;
        _dameageType  = eDameageType.Magic;
        _dameageValue = 50;

        SetForward(Util.Dir2DConvert3D(baseDir));
    }
Exemplo n.º 3
0
    public static Vector3 Dir2DConvert3D(eEntityLookDir dir)
    {
        Vector3 forward = Vector3.zero;

        switch (dir)
        {
        case eEntityLookDir.Left:
            forward.x = -1;
            break;

        case eEntityLookDir.Right:
            forward.x = 1;
            break;
        }
        forward.Normalize();
        return(forward);
    }
    public void SetSpriteFlip(eEntityLookDir baseLookDir, Vector2 vec)
    {
        int x = (int)vec.x;

        bool    xflip = _spriteRenderer.flipX;
        Vector2 dd    = Util.Dir2DConvert3D(baseLookDir);

        switch (x)
        {
        case 1:
            if (baseLookDir == eEntityLookDir.Left)
            {
                xflip = true;
            }
            else if (baseLookDir == eEntityLookDir.Right)
            {
                xflip = false;
            }
            break;

        case -1:
            if (baseLookDir == eEntityLookDir.Left)
            {
                xflip = false;
            }
            else if (baseLookDir == eEntityLookDir.Right)
            {
                xflip = true;
            }
            break;

        case 0:
            break;
        }
        _spriteRenderer.flipX = xflip;


        Flip(_spriteRenderer.flipX);
    }
Exemplo n.º 5
0
    public Entity  CreateEntityForBattle(string assetname, eEntityType entityType, eEntityLookDir lookDir, int subType)
    {
        GameObject behaviour = UnitObjectPool.Instance.GetCharacterGameObject(assetname);

        switch (entityType)
        {
        case eEntityType.InGameCharacter:

            Character entity = behaviour.gameObject.AddComponent <Character>();
            entity.Rigidbody  = behaviour.gameObject.GetComponent <Rigidbody2D>();
            entity.AniControl = behaviour.GetComponent <SpriteAnimationController>();
            entity.Collider   = behaviour.GetComponent <BoxCollider2D>();
            entity.Node       = behaviour.GetComponentInChildren <Character_Node>();
            entity.Init(entityType, lookDir, subType);
            if (subType > 1)
            {
                entity.AIStateManager = behaviour.AddComponent <AIStateManager>();
                entity.AIStateManager.Init(entity);
            }
            entity.AllyType = subType > 1 ? eUnitAllyType.Enemy : eUnitAllyType.Player;
            UnitManager.Instance.AddUnit(behaviour.GetInstanceID(), entity);
            return(entity);

        case eEntityType.InGameProjectile:
            Projectile projectile = behaviour.gameObject.AddComponent <Projectile>();

            projectile.Rigidbody  = behaviour.gameObject.GetComponent <Rigidbody2D>();
            projectile.AniControl = behaviour.GetComponent <SpriteAnimationController>();
            projectile.Node       = behaviour.GetComponentInChildren <Character_Node>();
            projectile.Init(entityType, lookDir, subType);
            projectile.AllyType = eUnitAllyType.EnemyAlly;
            UnitManager.Instance.AddProjectile(projectile);
            return(projectile);;
        }


        return(null);
    }
Exemplo n.º 6
0
    public override void Init(eEntityType type, eEntityLookDir baseDir, int subType)
    {
        base.Init(type, baseDir, subType);

        var stat = TempData.GetCharacterData(type, subType);

        if (stat != null)
        {
            _stat = stat;
        }
        IsActive      = true;
        _stateManager = new AnimationStateManager();
        _stateManager.Init(this);
        _physics = new SimplePhysics(_rigidbody, _node);
        _physics.AttackColliderList    += OnAttackCollider;
        _aniControl.OnAnimationPlayEnd += OnAnimationPlayEnd;
        _aniControl.OnAnimationEvent   += OnAnimationEvent;
        _conditionEffectDic             = new Dictionary <eCondition, ConditionEffect>();
        _conditionList = new List <ConditionEffect>();
        _curHP         = stat.MaxHp;

        SetForward(Util.Dir2DConvert3D(baseDir));
    }
Exemplo n.º 7
0
 public CharacterTable(string name, int tableNumber, eEntityLookDir baseLookDir)
 {
     _name        = name;
     _tabelNumber = tableNumber;
     _baseLook    = baseLookDir;
 }