Example #1
0
    /// <summary>
    /// 获取单位
    /// </summary>
    /// <param name="objType">单位类型</param>
    /// <param name="id">单位唯一Id</param>
    /// <returns>被获取单位(如果不存在返回Null</returns>
    public DisplayOwner GetElementById(ObjectID.ObjectType objType, int id)
    {
        switch (objType)
        {
        // TODO 基地目前从士兵列表中获取
        case ObjectID.ObjectType.MyJiDi:
        case ObjectID.ObjectType.MySoldier:
        case ObjectID.ObjectType.MyTower:
            if (_allMyDisPlayDict.ContainsKey(id))
            {
                return(_allMyDisPlayDict[id]);
            }
            break;

        case ObjectID.ObjectType.EnemyJiDi:
        case ObjectID.ObjectType.EnemySoldier:
        case ObjectID.ObjectType.EnemyTower:
            if (_allEnemyDisPlayDict.ContainsKey(id))
            {
                return(_allEnemyDisPlayDict[id]);
            }
            break;
        }
        return(null);
    }
Example #2
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="gameObj"></param>
 /// <param name="totalHp"></param>
 /// <param name="currentHp"></param>
 /// <param name="changeValue"></param>
 /// <param name="hurtType"></param>
 /// <param name="objType"></param>
 public HealthChangePacker(GameObject gameObj, float totalHp, float currentHp, float changeValue,
                           HurtType hurtType, ObjectID.ObjectType objType)
 {
     GameObj     = gameObj;
     TotalHp     = totalHp;
     CurrentHp   = currentHp;
     ChangeValue = changeValue;
     HurtType    = hurtType;
     ObjType     = objType;
 }
Example #3
0
    /// <summary>
    /// 获取目标类型
    /// </summary>
    /// <param name="myType"></param>
    /// <returns></returns>
    private ObjectID.ObjectType[] GetTypeArray(ObjectID.ObjectType myType)
    {
        ObjectID.ObjectType[] result = null;
        switch (myType)
        {
        case ObjectID.ObjectType.MyTank:
        case ObjectID.ObjectType.MySoldier:
            result = new[] { ObjectID.ObjectType.EnemyJiDi, ObjectID.ObjectType.EnemyTower };
            break;

        case ObjectID.ObjectType.EnemyTank:
        case ObjectID.ObjectType.EnemySoldier:
            result = new[] { ObjectID.ObjectType.MyJiDi, ObjectID.ObjectType.MyTower };
            break;
        }

        return(result);
    }
Example #4
0
 static int DoHealthChangeAction(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 7);
         FightManager           obj  = (FightManager)ToLua.CheckObject(L, 1, typeof(FightManager));
         UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 2, typeof(UnityEngine.GameObject));
         float arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
         float arg2 = (float)LuaDLL.luaL_checknumber(L, 4);
         float arg3 = (float)LuaDLL.luaL_checknumber(L, 5);
         FightManager.HurtType arg4 = (FightManager.HurtType)ToLua.CheckObject(L, 6, typeof(FightManager.HurtType));
         ObjectID.ObjectType   arg5 = (ObjectID.ObjectType)ToLua.CheckObject(L, 7, typeof(ObjectID.ObjectType));
         obj.DoHealthChangeAction(arg0, arg1, arg2, arg3, arg4, arg5);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Example #5
0
    ///// <summary>
    ///// 获取排头兵位置
    ///// </summary>
    ///// <param name="camp">阵营</param>
    ///// <returns>排头兵位置</returns>
    //public Vector3 GetFirstSoldierPos(int camp)
    //{
    //    Vector3 result = Vector3.zero;
    //}


    // ----------------------战斗抛事件相关----------------------

    /// <summary>
    /// 伤害类型
    /// </summary>
    /// <param name="obj">被变更单位</param>
    /// <param name="currentHp">当前血量</param>
    /// <param name="changeValue">变更血量</param>
    /// <param name="type">生命变更类型</param>
    /// <param name="totalHp">总血量</param>
    /// <param name="objType">单位类型</param>
    public void DoHealthChangeAction(GameObject obj, float totalHp, float currentHp, float changeValue, HurtType type, ObjectID.ObjectType objType)
    {
        if (healthChangeAction != null)
        {
            healthChangeAction(new HealthChangePacker(obj, totalHp, currentHp, changeValue, type, objType));
        }
    }