Esempio n. 1
0
    public CSEntity _createEntity(CSEntityAttr attr)
    {
        // Assembly
        if (attr.m_Type == CSConst.etAssembly)
        {
            m_Assembly            = new CSAssembly();
            m_Assembly.m_Info     = CSInfoMgr.m_AssemblyInfo;
            m_Assembly.ID         = attr.m_InstanceId;
            m_Assembly.gameLogic  = attr.m_LogicObj;
            m_Assembly.gameObject = attr.m_Obj;
            m_Assembly.m_Creator  = this;

            //multiMode only
            m_Assembly._ColonyObj = attr.m_ColonyBase;

            m_Assembly.CreateData();
            m_Assembly.Position     = attr.m_Pos;
            m_Assembly.ItemID       = attr.m_protoId;
            m_Assembly.Bound        = attr.m_Bound;
            m_Assembly.Data.m_Alive = true;
            m_Assembly.InitErodeMap(attr.m_Pos, m_Assembly.Radius);

            m_Timer.Tick = m_Assembly.Data.m_TimeTicks;


            return(m_Assembly);
        }
        else
        {
            CSCommon csc = _CreateCommon(attr.m_Type);

            csc.ID = attr.m_InstanceId;

            //multiMode only
            csc._ColonyObj = attr.m_ColonyBase;

            csc.CreateData();
            csc.Position         = attr.m_Pos;
            csc.m_Power          = attr.m_Power;
            csc.gameLogic        = attr.m_LogicObj;
            csc.gameObject       = attr.m_Obj;
            csc.ItemID           = attr.m_protoId;
            csc.Bound            = attr.m_Bound;
            csc.BaseData.m_Alive = true;

            m_CommonEntities.Add(csc.ID, csc);
            return(csc);
        }
    }