public override void InitPO(CharacterPO po0, CharacterRefreshPO po1) { _agentID = po0.Id; _health = po0.Health; _worth = po0.Score; _baseSpeed = po0.BaseSpeed; _rotationSpeed = po0.RotationSpeed; _agentType = (E_AgentType)po0.Type; _destroyEffectSound = po0.DestroyEffectSound; _explodeEffectSound = po0.ExplodeEffectSound; _destroySound = po0.DestroySound; _attackDamage = po0.DamageValue; _worth = po0.Score; targetAgentID = po1.TargetAgentID; ActionType = (global::E_ActionType)po1.ActionType; //mMoveSpeed = _baseSpeed * Random.Range(po1.FactorSpeed[0], po1.FactorSpeed[1]); _disappearTime = po1.DisappearTime; _disappearType = _disappearTime == 0 ? E_DisappearType.Normal : E_DisappearType.CanDisappear; _rigidbody = GetComponent <Rigidbody>(); SetBodyActive(); ConstructFSM(); }
/// <summary> /// 初始化 /// </summary> /// <param name="po0"></param> /// <param name="po1"></param> public override void InitPO(CharacterPO po0, CharacterRefreshPO po1) { _animator = transform.Find("Root").GetComponent <Animator>(); _rigidbody = GetComponent <Rigidbody>(); LookAtPoint = FindParentObject("LookAtPoint").transform; PterosaurStep1 step1 = new PterosaurStep1(this); PterosaurStep2 step2 = new PterosaurStep2(this); PterosaurStep3 step3 = new PterosaurStep3(this); PterosaurStep4 step4 = new PterosaurStep4(this); PterosaurStep5 step5 = new PterosaurStep5(this); PterosaurStep6 step6 = new PterosaurStep6(this); PterosaurStep7 step7 = new PterosaurStep7(this); PterosaurStep8 step8 = new PterosaurStep8(this); PterosaurStep9 step9 = new PterosaurStep9(this); PterosaurStep10 step10 = new PterosaurStep10(this); SetBodyActive(); _baseHealth = po0.Health; _worth = po0.Score; _baseSpeed = po0.BaseSpeed; _rotationSpeed = po0.RotationSpeed; _agentID = po0.Id; _agentType = (E_AgentType)po0.Type; _destroyEffectSound = po0.DestroyEffectSound; _explodeEffectSound = po0.ExplodeEffectSound; _destroySound = po0.DestroySound; _attackDamage = po0.DamageValue; _invincible = false; _health = _baseHealth; mMoveSpeed = _baseSpeed; //#region Init Hit Point //int index = 0; //for (int i = 0; i < po0.HitBone.Length; ++i) //{ // string boneName = po0.HitBone[i]; // if (boneName.Equals("XXX")) // ++index; // GameObject go = FindParentObject(boneName); // if (go != null) // { // HitPoint hitpoint = go.GetOrAddComponent<HitPoint>(); // switch (index) // { // case 0: // hitpoint.SetParentType(HitPoint.E_Parent.Claw); // break; // case 1: // hitpoint.SetParentType(HitPoint.E_Parent.Beat); // break; // } // } //} //#endregion EventDispatcher.AddEventListener(EventDefine.Boss_Change_State, NextStep); EventDispatcher.AddEventListener <int, float>(EventDefine.Boss_Hit_Point_Break, AddDamageValue); }
public LoopRefresh(int characterID, string name, E_CharacterType type, CharacterRefreshPO characterRefreshPO) { mCharacterID = characterID; mPrefabName = name; mCharacterType = type; mCharacterRefreshPo = characterRefreshPO; }
public ICharacter CreateCharacter <T>(int characterID, CharacterRefreshPO characterRefreshPO) where T : ICharacter, new() { ICharacter character = new T(); ICharacterBuilder builder = new FireMonsterBuilder(character, characterID, characterRefreshPO); return(CharacterBuilderDirector.Construct(builder)); }
public Vector3 GetEulerAngle(CharacterRefreshPO characterRefreshPO) { if (characterRefreshPO.LocalEulerAngles.Length != 3) { return(Vector3.one); } return(new Vector3(characterRefreshPO.LocalEulerAngles[0], characterRefreshPO.LocalEulerAngles[1], characterRefreshPO.LocalEulerAngles[2])); }
public Vector3 GetEulerAngle(CharacterRefreshPO characterRefreshPO) { if (characterRefreshPO.LocalEulerAngles.Length % 3 == 0) { return(new Vector3(characterRefreshPO.LocalEulerAngles[0], characterRefreshPO.LocalEulerAngles[1], characterRefreshPO.LocalEulerAngles[2])); } else { return(Vector3.zero); } }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { string name = characterRefreshPO.CricleName; IBattleScene battleScene = ioo.battleScene; if (battleScene == null) { return(Vector3.zero); } return(battleScene.GetCirclePositionByName(name)); }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { if (characterRefreshPO.AppearePoint.Length % 3 == 0) { return(new Vector3(characterRefreshPO.AppearePoint[0], characterRefreshPO.AppearePoint[1], characterRefreshPO.AppearePoint[2])); } else { return(Vector3.zero); } }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { Vector3 pos = Vector3.zero; if (characterRefreshPO.AppearePoint.Length % 3 == 0) { return(new Vector3(characterRefreshPO.AppearePoint[0], characterRefreshPO.AppearePoint[1], characterRefreshPO.AppearePoint[2])); } return(pos); }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { Vector3 pos = Vector3.zero; if (characterRefreshPO.AppeareArea == "") { Debug.LogError(characterRefreshPO.Id + " AppeareArea名为空"); return(pos); } AreaManager.Instance.GetExitOrRandPositionInArea(characterRefreshPO.AppeareArea, ref pos); return(pos); }
static public void LoadHandler(LoadedData data) { JsonData jsonData = JsonMapper.ToObject(data.Value.ToString()); if (!jsonData.IsArray) { return; } for (int index = 0; index < jsonData.Count; index++) { JsonData element = jsonData[index]; CharacterRefreshPO po = new CharacterRefreshPO(element); CharacterRefreshData.Instance.m_dictionary.Add(po.Id, po); } }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { Vector3 pos = Vector3.zero; if (characterRefreshPO.AppearePoint.Length % 3 == 0) { return(new Vector3(characterRefreshPO.AppearePoint[0], characterRefreshPO.AppearePoint[1], characterRefreshPO.AppearePoint[2])); } if (characterRefreshPO.AppeareArea == "") { Debug.LogError(characterRefreshPO.Id + " AppeareArea名为空"); return(pos); } AreaManager.Instance.GetExitOrRandPositionInArea(characterRefreshPO.AppeareArea, ref pos); return(pos); }
/// <summary> /// 道具初始化 /// </summary> /// <param name="po"></param> public override void InitPO(CharacterPO po0, CharacterRefreshPO po1) { _health = po0.Health; _worth = po0.Score; _baseSpeed = po0.BaseSpeed; _attackTime = po0.AttackTime; mFogTime = po0.FogTime; _freezeTime = po0.FreezeTime; _validTime = po0.ValidTime; _agentType = (global::E_AgentType)po0.Type; _agentID = po0.Id; if (po1 != null) { _disappearTime = po1.DisappearTime; } else { _disappearTime = po0.DisappearTime; } _disappearType = _disappearTime == 0 ? E_DisappearType.Normal : E_DisappearType.CanDisappear; if (IsCoin()) { InitCoin(_agentID); } if (IsSandBox()) { InitSandBox(); } _rigidbody = GetComponent <Rigidbody>(); AddBornEffect(po0.BornEffect); }
public WolfBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) : base(character, characterID, characterRefreshPO) { }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { return(Vector3.zero); }
public SpawnHugeFireMonsterCommand(int characterID, CharacterRefreshPO characterRefreshPO) : base(characterID, characterRefreshPO) { }
public SpawnBullDemonKingCommand(int characterID, CharacterRefreshPO characterRefreshPO) : base(characterID, characterRefreshPO) { }
public SelectCharacterBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) : base(character, characterID, characterRefreshPO) { }
public CitizenBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) : base(character, characterID, characterRefreshPO) { }
public EliteMonsterBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) : base(character, characterID, characterRefreshPO) { }
/// <summary> /// 按照刷新表动态刷新场景活动单元 /// </summary> void RefreshCharacter() { while (true) { int refreshID = 100000 + ((int)mStageSystem.sceneID) * 10000 + mStageSystem.refreshIndex; CharacterRefreshPO characterRefreshPO = CharacterRefreshData.Instance.GetCharacterRefreshPO(refreshID); if (characterRefreshPO == null) { break; } if (characterRefreshPO.Stage != mLv) { break; } if (characterRefreshPO.AppeareTime > mStageTimer) { return; } CharacterBaseAttr baseAttr = FactoryManager.attrFactory.GetCharacterBaseAttr(characterRefreshPO.CharacterID); if (characterRefreshPO.Loop == 1) { LoopRefresh lr = new LoopRefresh(characterRefreshPO.CharacterID, baseAttr.name, baseAttr.characterType, characterRefreshPO); mLoopList.Add(lr); ++mStageSystem.refreshIndex; continue; } E_CharacterType characterType = baseAttr.characterType; switch (characterType) { case E_CharacterType.Player: ISpawnCommand command = new SpawnCharacterCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; case E_CharacterType.Map: command = new SpawnMapCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; case E_CharacterType.Citizen0: case E_CharacterType.Citizen1: case E_CharacterType.Citizen2: command = new SpawnCitizenCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; case E_CharacterType.Npc: for (int i = 0; i < characterRefreshPO.StepCount; ++i) { command = new SpawnNpcCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); } break; case E_CharacterType.SandBox: case E_CharacterType.Bucket: command = new SpawnPropCommand(baseAttr.id, characterRefreshPO, Vector3.zero); mCommands.Add(command); break; case E_CharacterType.BullDemonKing: command = new SpawnBullDemonKingCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; case E_CharacterType.AngerBear: command = new SpawnBearCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; case E_CharacterType.Wolf: command = new SpawnWolfCommand(baseAttr.id, characterRefreshPO); mCommands.Add(command); break; } ++mStageSystem.refreshIndex; } }
public Vector3 GetEulerAngle(CharacterRefreshPO characterRefreshPO) { throw new NotImplementedException(); }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { throw new NotImplementedException(); }
public SpawnCoinCommand(int characterID, CharacterRefreshPO characterRefreshPO) : base(characterID, characterRefreshPO) { }
public HelicopterBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) : base(character, characterID, characterRefreshPO) { }
public SpawnHelicopterCommand(int characterID, CharacterRefreshPO characterRefreshPO, Citizen citizen, int playerID) : base(characterID, characterRefreshPO) { mCitizen = citizen; mPlayerID = playerID; }
public Vector3 GetLocalScale(CharacterRefreshPO characterRefreshPO) { throw new NotImplementedException(); }
public ICharacterBuilder(ICharacter character, int characterID, CharacterRefreshPO characterRefreshPO) { mCharacter = character; mCharacterID = characterID; mCharacterRefreshPO = characterRefreshPO; }
public override void InitPO(CharacterPO po0, CharacterRefreshPO po1) { _health = po0.Health; _worth = po0.Score; _baseSpeed = po0.BaseSpeed; _rotationSpeed = po0.RotationSpeed; _agentID = po0.Id; _agentType = (E_AgentType)po0.Type; _destroyEffectSound = po0.DestroyEffectSound; _explodeEffectSound = po0.ExplodeEffectSound; _destroySound = po0.DestroySound; _attackDamage = po0.DamageValue; _invincible = false; //_deadAfterAttack = po1.DadAfterDead == 1 ? true : false; //mMoveSpeed = _baseSpeed * UnityEngine.Random.Range(po1.FactorSpeed[0], po1.FactorSpeed[1]); _rigidbody = GetComponent <Rigidbody>(); if (_rigidbody != null) { _rigidbody.isKinematic = po1.IsKinematic == 1 ? true : false; } //_reachTarget = false; _animator = GetComponent <Animator>(); _animator.speed = 1; //// 绑定出生特效 //GameObject bornPoint = transform.Find("Root/BornEffectPoint").gameObject; //_bornEffect = PoolManager.Instance.Spawn(po0.BornEffect); //_bornEffect.transform.SetParent(bornPoint.transform); //ResetTransform(_bornEffect); ActionType = (global::E_ActionType)po1.ActionType; if (ActionType == global::E_ActionType.AttackCitizen) { _row = -1; } if (ActionType == global::E_ActionType.SpecialCircle) { stayArea = po1.StayArea; stayTime = UnityEngine.Random.Range(po1.StayTime[0], po1.StayTime[1]); InsertPosToPath(0, 1); } if (ActionType == global::E_ActionType.ShakeScreen) { _active = false; stayArea = po1.StayArea; pathList.Clear(); //pathList.AddRange(ioo.cameraManager.ShakeScreenList()); } //_delayTimeAttack = po1.DelayTimeAttack; BindEvent(); ConstructFSM();; }
public Vector3 GetSpawnPosition(CharacterRefreshPO characterRefreshPO) { return(new Vector3(characterRefreshPO.AppearePoint[0], characterRefreshPO.AppearePoint[1], characterRefreshPO.AppearePoint[2])); }