Exemple #1
0
        private void RemoveNetGameObject(GameObjectClassId class_id, int map_uid)
        {
            Dictionary <int, NetGameObject> map;

            if (mapNetGameObject.TryGetValue(class_id, out map))
            {
                map.Remove(map_uid);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #5
0
 public List <NetGameObject> GetGameObjects(GameObjectClassId id)
 {
     return(mGameObjects.Where(x => x.GetClassId() == (byte)id).ToList());
 }