private void RemoveNetGameObject(GameObjectClassId class_id, int map_uid) { Dictionary <int, NetGameObject> map; if (mapNetGameObject.TryGetValue(class_id, out map)) { map.Remove(map_uid); } }
public NetGameObject GetNetGameObject(GameObjectClassId class_id, int map_uid) { Dictionary <int, NetGameObject> map; NetGameObject gameObject; if (mapNetGameObject.TryGetValue(class_id, out map)) { if (map.TryGetValue(map_uid, out gameObject)) { return(gameObject); } } return(null); }
public void RegisterNetGameObject(GameObjectClassId class_id, int map_uid, NetGameObject gameObject) { //core.LogHelper.LogInfo($"RegisterNetGameObject class_id:{class_id}, map_uid:{map_uid}"); Dictionary <int, NetGameObject> map; if (mapNetGameObject.TryGetValue(class_id, out map)) { map.Add(map_uid, gameObject); } else { map = new Dictionary <int, NetGameObject>(); map.Add(map_uid, gameObject); mapNetGameObject.Add(class_id, map); } }
public int GetDamage(int skill_id, GameObjectClassId target_id) { var skillData = ACDC.SkillData[skill_id]; if (skillData == null) { return(0); } int damage; if (target_id == GameObjectClassId.Actor || target_id == GameObjectClassId.Castle) { var skillDamage = skillData.GetDamage(CharacterLevel); // 파워업 잼 버프 상태에 따라 추가 데미지가 발생 // SiegeAtk 해당 버프가 적용되지 않는다. 이미 기본 데미지를 가지고 정해진 값이므로 // 차후 하나의 버프에서 두개 이상의 스탯에 영향을 주도록 수정한다면 가능 (var exist, var status) = _buff.GetBuff(BuffType.PowerUpGem); if (exist) { damage = skillDamage + (int)(skillDamage * status); } else { damage = skillDamage; } } else { damage = skillData.SiegeAtk; } return(damage); }
public List <NetGameObject> GetGameObjects(GameObjectClassId id) { return(mGameObjects.Where(x => x.GetClassId() == (byte)id).ToList()); }