You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
4.3 KiB
142 lines
4.3 KiB
//using ProtoCSStruct;
|
|
|
|
|
|
//namespace Battle
|
|
//{
|
|
// public class HeroState
|
|
// {
|
|
// public int[] value = new int[(int)HeroStateID.Max];
|
|
// }
|
|
|
|
// public static class HeroStateSvc
|
|
// {
|
|
// public static bool CanSelected(BattleHero hero)
|
|
// {
|
|
// if(IsInState(hero, HeroStateID.NoSelected) || hero.isLeave)
|
|
// {
|
|
// return false;
|
|
// }
|
|
// return true;
|
|
// }
|
|
|
|
// // 合法的状态id
|
|
// public static bool IsValidID(HeroStateID id)
|
|
// {
|
|
// return HeroStateID.None < id && id < HeroStateID.Max;
|
|
// }
|
|
|
|
|
|
// // 返回值:
|
|
// public static bool AddState(BattleHero hero, HeroStateID id)
|
|
// {
|
|
// if (! IsValidID(id))
|
|
// {
|
|
// return false;
|
|
// }
|
|
|
|
// hero.state.value[(int)id]++;
|
|
|
|
// hero.Battle.Trace("HeroStateSvc.AddState hero {0} {1} {2}", hero.objId, id, hero.state.value[(int) id]);
|
|
|
|
// //第一次需要通知表现
|
|
// if (hero.state.value[(int)id] == 1)
|
|
// {
|
|
|
|
// }
|
|
|
|
// if (hero.state.value[(int)id] >= 1)
|
|
// {
|
|
// switch (id)
|
|
// {
|
|
// case HeroStateID.Stun:
|
|
// hero.lastAddStunTimeMs = hero.Battle.GetLogicTimeMs();
|
|
// break;
|
|
// case HeroStateID.HideShow:
|
|
// hero.Battle.NotifyHeroHideState(hero.objId, 1);
|
|
// break;
|
|
// case HeroStateID.Frozen:
|
|
// hero.Battle.NotifyHeroStopState(hero.objId, 1);
|
|
// break;
|
|
|
|
// }
|
|
// return true;
|
|
// }
|
|
|
|
// return false;
|
|
// }
|
|
|
|
// public static void SubState(BattleHero hero, HeroStateID id)
|
|
// {
|
|
// if (! IsValidID(id))
|
|
// {
|
|
// return ;
|
|
// }
|
|
|
|
// if (hero.state.value[(int)id] > 0)
|
|
// {
|
|
// hero.state.value[(int)id]--;
|
|
|
|
|
|
// hero.Battle.Trace("HeroStateSvc.SubState hero {0} {1} {2}", hero.objId, id, hero.state.value[(int) id]);
|
|
|
|
// if (hero.state.value[(int)id] == 0)
|
|
// {
|
|
// switch (id)
|
|
// {
|
|
// case HeroStateID.HideShow:
|
|
// hero.Battle.NotifyHeroHideState(hero.objId, 0);
|
|
// break;
|
|
// case HeroStateID.Frozen:
|
|
// hero.Battle.NotifyHeroStopState(hero.objId, 0);
|
|
// break;
|
|
// case HeroStateID.StaticAtkSpeed:
|
|
// BattleLogicUpdate.UpdateAtkSpeedInfo(hero);
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// return ;
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// 清楚状态
|
|
// /// </summary>
|
|
// /// <param name="hero"></param>
|
|
// /// <param name="id"></param>
|
|
// public static void ClearState(BattleHero hero, HeroStateID id)
|
|
// {
|
|
// if (!IsValidID(id))
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// if (hero.state.value[(int)id] > 0)
|
|
// {
|
|
// hero.state.value[(int)id] = 0;
|
|
|
|
// if (AIScriptBattle._logLevel <= BattleConst.LLTrace)
|
|
// hero.Battle.Trace("HeroStateSvc.ClearState hero {0} {1}", hero.objId, id);
|
|
|
|
// if (AIScriptBattle.needJsonOutput)
|
|
// {
|
|
// RemoveStateOutput removeState = new RemoveStateOutput();
|
|
// removeState.heroObjId = hero.objId;
|
|
// removeState.stateId = (int)id;
|
|
|
|
// hero.Battle.NotifyOutput(BattleIOType.RemoveState, SerializeObj.Serialize(removeState));
|
|
// return;
|
|
// }
|
|
// }
|
|
// return;
|
|
// }
|
|
|
|
// public static bool IsInState(BattleHero hero, HeroStateID id)
|
|
// {
|
|
// if (IsValidID(id))
|
|
// {
|
|
// return hero.state.value[(int)id] > 0;
|
|
// }
|
|
// return false;
|
|
// }
|
|
// }
|
|
//}
|
|
|