public virtual void Init(eEntityType type, eEntityLookDir baseDir, int subType) { _type = type; _baseLookDir = baseDir; _logicIntevalSec = Util.LogicInterval(type); _waitLogicInteval = new WaitForSeconds(_logicIntevalSec); }
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)); }
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); }
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); }
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)); }
public CharacterTable(string name, int tableNumber, eEntityLookDir baseLookDir) { _name = name; _tabelNumber = tableNumber; _baseLook = baseLookDir; }