public Buff(proto.BuffReference buffRef, ShipEntity shipEntity) { BeginTick = FightTicker.Ticker; ShipEntity = shipEntity; Prop = buffRef; // if( ShipEntity != null ){ // NowArmouredShield = ShipEntity.Ship.Reference.durability * (1 + ShipEntity.Ship.Reference.durability_growthrate * (ShipEntity.Ship.Level - 1)); // NowEnergyShield = ShipEntity.Ship.Reference.energy * (1 + ShipEntity.Ship.Reference.energy_growthrate * (ShipEntity.Ship.Level - 1)); // } }
/// <summary> /// 将BuffId化为Buff的状态类型 /// </summary> private int GetBuffStatusById(int buffId) { proto.BuffReference buffRef = GlobalConfig.GetBuffReference(buffId); switch (buffRef.bufftype) { case Def.BuffType.ArmouredShield: return(BuffStatus.ArmouredShield); case Def.BuffType.EnergyShield: return(BuffStatus.EnergyShield); default: return(BuffStatus.None); } }
public static void AnalyzeBin(byte[] bytes) { var tempManager = new proto.ReferenceManager(); tempManager.Parse(bytes, 0, bytes.Length); for (int i = 0; i < tempManager.units_res_size(); i++) { proto.UnitReference unit = tempManager.units_res(i); UnitReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.defensive_units_res_size(); i++) { proto.DefensiveUnitsReference unit = tempManager.defensive_units_res(i); DefensiveUnitsReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.buff_res_size(); i++) { proto.BuffReference unit = tempManager.buff_res(i); BuffReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.parts_replace_team_res_size(); i++) { proto.PartsReplaceTeamReference unit = tempManager.parts_replace_team_res(i); PartsReplaceTeamReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.shuttle_res_size(); i++) { proto.ShuttleReference unit = tempManager.shuttle_res(i); ShuttleReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.shuttle_team_res_size(); i++) { proto.ShuttleTeamReference unit = tempManager.shuttle_team_res(i); ShuttleTeamReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.skill_res_size(); i++) { proto.SkillReference unit = tempManager.skill_res(i); SkillReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.parts_res_size(); i++) { proto.PartReference unit = tempManager.parts_res(i); PartReferenceList.Add(unit.id, unit); } for (int i = 0; i < tempManager.battlefield_res_size(); i++) { proto.BattlefieldReference battle = tempManager.battlefield_res(i); BattlefieldReferenceList.Add(battle.id, battle); } List <proto.LevelDeployUnitReference> levelDelpoyUnitList = null; for (int i = 0; i < tempManager.leveldeployunit_res_size(); i++) { proto.LevelDeployUnitReference levelDeployUnit = tempManager.leveldeployunit_res(i); if (LevelDeployReferenceDic.ContainsKey(levelDeployUnit.battlefield_id)) { levelDelpoyUnitList = LevelDeployReferenceDic[levelDeployUnit.battlefield_id]; } else { levelDelpoyUnitList = new List <proto.LevelDeployUnitReference>(); LevelDeployReferenceDic.Add(levelDeployUnit.battlefield_id, levelDelpoyUnitList); } levelDelpoyUnitList.Add(levelDeployUnit); } }