//统计结果
    public void statiscalResult()
    {
        RenderTexturePool.GetInstance().StatisticalResult();
        Vector2 scoresTotal = RenderTexturePool.GetInstance().scoresTotal;

        Debug.Log("scoresTotal:::" + scoresTotal.x + scoresTotal.y);
        if (scoresTotal == Vector2.zero)
        {
            KBEngine.Event.fireIn("statisticalResult", GameManager.Instance.TeamId, 50f);
        }
        else
        {
            float redData  = (scoresTotal.x / (scoresTotal.x + scoresTotal.y)) * 100;
            float blueData = (scoresTotal.y / (scoresTotal.x + scoresTotal.y)) * 100;
            if (redData == 0)
            {
                redData = 100 - blueData;
            }
            else if (blueData == 0)
            {
                blueData = 100 - redData;
            }
            if (GameManager.Instance.TeamId == CommonConfigs.RED_TEAM_ID)
            {
                KBEngine.Event.fireIn("statisticalResult", CommonConfigs.RED_TEAM_ID, redData);
            }
            else
            {
                KBEngine.Event.fireIn("statisticalResult", CommonConfigs.BLUE_TEAM_ID, blueData);
            }
        }

        //  KBEngine.Event.fireIn("statisticalResult", (byte)1, 65.4f);
    }
Exemplo n.º 2
0
 /// <summary>
 /// 判断物体是否需要渲染
 /// </summary>
 /// <param name="ObjectId"></param>
 /// <param name="obj"></param>
 /// <returns></returns>
 public bool JudgetRenderTexture(int ObjectId, SplatManager obj)
 {
     RenderTexturePool.GetInstance().AddSplatManagerLst(ObjectId, obj);
     if (ObjectIDToTexture2D.ContainsKey(ObjectId))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 3
0
    public bool CanMoveByInk(ref RaycastHit rayHitInfo)
    {
        if (rayHitInfo.transform == null)
        {
            return(false);
        }
        if (rayHitInfo.transform.gameObject.layer != _layerNum)
        {
            return(false);
        }
        //if (CurGroundObj == null || CurGroundObj.name != rayHitInfo.transform.name)
        //{
        //    CurGroundObj = rayHitInfo.transform;
        SplatManager renderObj = rayHitInfo.transform.GetComponent <SplatManager>();

        if (renderObj == null)
        {
            Debug.Log("SplatManager_name_name_name:::" + rayHitInfo.transform.name);
            return(false);
        }

        if (PixelManager.GetInstance() == null)
        {
            Debug.Log("renderObj.ObjectId_PixelManager.GetInstance() is null!!!:::" + renderObj.ObjectId);
            return(false);
        }

        //先判断是否已经有玩家对象和渲染对象了,根据情况添加玩家对象和渲染对象
        if (!PixelManager.GetInstance().ObjectIDToTexture2D.ContainsKey(renderObj.ObjectId))
        {
            Texture2D obj = RenderTexturePool.GetInstance().InstanceTexture2D();
            renderObj.SetRenderTexture2D(ref obj);
            PixelManager.GetInstance().SetObjectIDToTexture2D(renderObj.ObjectId, obj);
            renderObj.RenderTextureToStaticData();
            Debug.Log("PlayerIDToObjectID.GetInstance():::" + PixelManager.GetInstance().PlayerIDToObjectID.Count + " ," + PixelManager.GetInstance().PlayerIDToObjectID.Keys);
        }
        return(PixelManager.GetInstance().IsInOneSelfInk(AvatarEntityId, renderObj.ObjectId, rayHitInfo.textureCoord));
        //  bool data = PixelManager.GetInstance().GetPixelsInfo(PlayerId, _groundHit.textureCoord);
        //   }
    }
Exemplo n.º 4
0
    public bool OnGrouldRayInfoAndRender(out RaycastHit _groundHit)
    {
        if (!RayGroundInfo(out _groundHit))
        {
            return(false);
        }

        if (_groundHit.transform.gameObject.layer != _layerNum)
        {
            return(false);
        }
        if (CurGroundObj == null || CurGroundObj.name != _groundHit.transform.name)
        {
            CurGroundObj = _groundHit.transform;
            SplatManager renderObj = _groundHit.transform.GetComponent <SplatManager>();
            if (renderObj == null)
            {
                Debug.Log("SplatManager_name_name_name:::" + _groundHit.transform.name);
                return(false);
            }

            if (PixelManager.GetInstance() == null)
            {
                Debug.Log("renderObj.ObjectId_PixelManager.GetInstance() is null!!!:::" + renderObj.ObjectId);
                return(false);
            }

            //先判断是否已经有玩家对象和渲染对象了,根据情况添加玩家对象和渲染对象
            if (!PixelManager.GetInstance().SetPlayerIdToObjectID(AvatarEntityId, renderObj.ObjectId))
            {
                Texture2D obj = RenderTexturePool.GetInstance().InstanceTexture2D();
                renderObj.SetRenderTexture2D(ref obj);
                PixelManager.GetInstance().SetObjectIDToTexture2D(renderObj.ObjectId, obj);
                Debug.Log("PlayerIDToObjectID.GetInstance():::" + PixelManager.GetInstance().PlayerIDToObjectID.Count + " ," + PixelManager.GetInstance().PlayerIDToObjectID.Keys);
            }
            //  bool data = PixelManager.GetInstance().GetPixelsInfo(PlayerId, _groundHit.textureCoord);
        }
        return(true);
    }
Exemplo n.º 5
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="PlayerId"></param>
    /// <param name="ObjectId"></param>
    /// <returns>如果返回值为false,表示没有找到相对于的Render,需要主动重新渲染一次</returns>
    public bool SetPlayerIdToObjectID(int PlayerId, int ObjectId)
    {
        if (ObjectId == 10)
        {
            Debug.Log("ObjectId::::" + ObjectId);
        }

        if (PlayerIDToObjectID == null)
        {
            Debug.Log("SetPlayerIdToObjectID_PlayerIDToObjectID::::PlayerIDToObjectID is null!");
        }

        if (!PlayerIDToObjectID.ContainsKey(PlayerId))
        {
            PlayerIDToObjectID.Add(PlayerId, ObjectId);
        }
        else
        {
            int id = PlayerIDToObjectID[PlayerId];
            PlayerIDToObjectID[PlayerId] = ObjectId;
            if (!PlayerIDToObjectID.ContainsValue(id))//如果当下没有玩家站着或者需要渲染的物体,就将需要渲染的物体标志移除掉
            {
                RenderTexturePool.GetInstance().DestoryTexture2D(ObjectIDToTexture2D[id]);
                ObjectIDToTexture2D.Remove(id);
            }
        }

        if (!ObjectIDToTexture2D.ContainsKey(ObjectId))
        {
            return(false);
        }
        else
        {
            return(true);
        }
        ////判断是否包含当前玩家数据,1)没有增加需要数据,并看是否需要主动增加Texture2D渲染
        //if (!PlayerIDToObjectID.ContainsKey(PlayerId))
        //{
        //    PlayerIDToObjectID.Add(PlayerId, ObjectId);
        //    if (ObjectIDToTexture2D.ContainsKey(ObjectId)) return true;
        //    return false;
        //}
        //else
        //{
        //    if (PlayerIDToObjectID.ContainsValue(ObjectId))
        //    {
        //        PlayerIDToObjectID[PlayerId] = ObjectId;
        //        return true;
        //    }
        //    else
        //    {
        //     //   Debug.Log("ddddddddddddddddddddddddddddddddddd");
        //        int id = PlayerIDToObjectID[PlayerId];
        //        PlayerIDToObjectID[PlayerId] = ObjectId;
        //        if (!PlayerIDToObjectID.ContainsValue(id))//如果当下没有玩家站着或者需要渲染的物体,就将需要渲染的物体标志移除掉
        //        {
        //            RenderTexturePool.GetInstance().DestoryTexture2D(ObjectIDToTexture2D[id]);
        //            ObjectIDToTexture2D.Remove(id);
        //        }
        //        return false;
        //    }
        //}
    }