예제 #1
0
    public void PlayStart()
    {
        Int32 state = 0;

        if (PlayerManager.Instance.LocalAccount.ObType == ObPlayerOrPlayer.PlayerObType)
        {
            state = 1;
        }
        GameMapObjs GameBuilding = GameObject.FindObjectOfType(typeof(GameMapObjs)) as GameMapObjs;

        EntityManager.ClearHomeBase();
        if (GameBuilding != null)
        {
            for (int id = 0; id < GameBuilding.transform.childCount; id++)
            {
                Transform child = GameBuilding.transform.GetChild(id);
                int       objId = 0;
                try
                {
                    objId = Convert.ToInt32(child.name);
                }
                catch (Exception e)
                {
                    Debug.LogError(e.ToString());
                    continue;
                }

                int infoId = GetMapObjIndex(objId);
                if (ConfigReader.MapObjXmlInfoDict.ContainsKey(infoId))
                {
                    MapObjConfigInfo configInfp = ConfigReader.MapObjXmlInfoDict[infoId];
                    int    type  = configInfp.eObjectTypeID;
                    int    index = configInfp.un32ObjIdx;
                    int    camp  = configInfp.n32Camp;
                    UInt64 sGUID = (UInt64)index;
                    EntityManager.HandleDelectEntity(sGUID);
                    Ientity item = NpcManager.Instance.HandleCreateEntity(sGUID, (EntityCampType)camp);
                    item.MapObgId     = objId;
                    item.realObject   = child.gameObject;
                    item.objTransform = child.gameObject.transform;
                    item.GameObjGUID  = sGUID;
                    item.NpcGUIDType  = type;
                    item.ObjTypeID    = (uint)type;
                    item.entityType   = (EntityType)ConfigReader.GetNpcInfo(type).NpcType;
                    item.SetHp(1);
                    item.SetHpMax(1);
                    EntityManager.Instance.SetCommonProperty(item, type);
                    item.RealEntity = EntityManager.AddBuildEntityComponent(item);
                    NpcManager.Instance.AddEntity(sGUID, item);
                    EntityManager.AddHomeBase(item);
                    GuideBuildingTips.Instance.AddBuildingTips(item);
                }
            }
        }
        LoadBaseDate.Instance().LoadBase();
    }