Esempio n. 1
0
        public static void GotoCollectObj(int collectObjID, bool bCarry = false)
        {
            KCollectMissionInfo info = KConfigFileManager.GetInstance().GetCollectInfo(collectObjID);

            if (info != null)
            {
                if (info.strPosition != null && info.strPosition != "0")
                {
                    string[] pos = info.strPosition.Split(';');

                    if (pos.Length != 0)
                    {
                        string[] posTemp = pos[0].Split(':');
                        if (posTemp.Length == 3)
                        {
                            if (bCarry)
                            {
                                Carry(info.nSceneID, new Vector3(int.Parse(posTemp[0]), int.Parse(posTemp[1]), int.Parse(posTemp[2])));
                            }
                            else
                            {
                                Vector3 vecPosition = MapUtils.GetMetreFromInt(int.Parse(posTemp[0]), int.Parse(posTemp[2]), int.Parse(posTemp[1]));
                                Goto(info.nSceneID, vecPosition);
                            }

                            CollectObjLogic.GetInstance().m_bAutoCollect = true;
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public void OnAddDoodad(uint objID, int objType, int posX, int posY, RemoteTable table)
        {
            KSceneObjectType sot = KSceneObjectType.sotDoodad;
            KHeroObjectType  hot = KHeroObjectType.hotInvalid;
            KDoodadType      dt  = (KDoodadType)objType;

            SceneEntity entity = CreateSceneObject(objID, sot, hot, dt, MapUtils.GetMetreFromInt(posX, posY), ConfigManager.INVALID_ID);

            if (dt == KDoodadType.dddCollect)
            {
                int collectID = (int)table["CollectMissionID"];

                KCollectMissionInfo info = KConfigFileManager.GetInstance().GetCollectInfo(collectID);
                if (info == null)
                {
                    Debug.Log("AddSceneObj Error Collect ID" + collectID.ToString());
                }

                entity.collectInfo = info;
                entity.Init();
                entity.DispatchEvent(ControllerCommand.LOAD_NAME_LABEL);
                entity.DispatchEvent(ControllerCommand.CHANGE_NAME, info.strName);
            }
            else if (dt == KDoodadType.dddDrop)
            {
                KDropType dType  = (KDropType)(int)table["eDropType"];
                int       nValue = table["nDropValue"];
                int       nIndex = table["nDropIndex"];
                entity.property.dropType  = dType;
                entity.property.dropValue = nValue;
                entity.property.dropIndex = nIndex;
                entity.Init();
                entity.DispatchEvent(ControllerCommand.LOAD_NAME_LABEL);

                if (dType == KDropType.dtMoney)
                {
                    string strMoney = "money *" + nValue;
                    entity.DispatchEvent(ControllerCommand.CHANGE_NAME, strMoney);
                }
                else if (dType == KDropType.dtEquip)
                {
                    KTabLineEquip equipData = KConfigFileManager.GetInstance().equipTabInfos.getData(nIndex.ToString());
                    entity.DispatchEvent(ControllerCommand.CHANGE_NAME, equipData.Name);
                }
                else if (dType == KDropType.dtItem)
                {
                    KTabLineItem itemData = KConfigFileManager.GetInstance().itemTabInfos.getData(nIndex.ToString());
                    entity.DispatchEvent(ControllerCommand.CHANGE_NAME, itemData.Name);
                }
            }
        }
Esempio n. 3
0
 public override void FixedUpdate()
 {
     if (m_bBeCollect)
     {
         KCollectMissionInfo info = KConfigFileManager.GetInstance().GetCollectInfo(m_collectID);
         if (info != null)
         {
             MajorPlayer player  = PlayerManager.GetInstance().MajorPlayer;
             float       timeUse = player.onlineTime - m_fCollectTime;
             if (timeUse < info.nNeedTime + 0.3f)
             {
                 ForegroundSprite.fillAmount = timeUse / (info.nNeedTime + 0.3f);
             }
             else
             {
                 CollectObjLogic.GetInstance().SendFinishCollectObj(m_collectID, CollectObjLogic.GetInstance().GetMissionIDByCollect(m_collectID));
                 m_bBeCollect = false;
             }
         }
     }
 }