示例#1
0
            public void OnAfterDeserialize()
            {
#if UNITY_EDITOR
                _editorLoaderGameObject = GetGameObjectLoader(_scene.GetScene());
                _editorGameObject       = GetGameObject();
#endif
            }
示例#2
0
    public void update(GameObjectLoader loader)
    {
        const float TIME = 10;

        timer += Time.deltaTime;
        if (timer >= TIME)
        {
            timer = 0;
            foreach (var res in loader.snapshot())
            {
                if (res.loaded && res.tag != null)
                {
                    res.update();
                    if (res.instanceCount == 0)
                    {
                        var last = (float)res.tag;
                        if (Time.time - last >= TIME)
                        {
                            loader.unloadObject(res);
                        }
                    }
                }
            }
        }
    }
示例#3
0
 public override void InitBuild()
 {
     base.InitBuild();
     m_goEffect1910011 = GameObjectLoader.LoadPath("effect/prefab/", "1910011", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.skinroot).transform);
     m_goEffect1910021 = GameObjectLoader.LoadPath("effect/prefab/", "1910021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.skinroot).transform);
     m_goEffect1911021 = GameObjectLoader.LoadPath("effect/prefab/", "1911021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.skinroot).transform);
 }
    void DoSkill1028(MapGrid pos, SoldierSkill skill)
    {
        if (pos == null)
        {
            return;
        }
        GameObject posgo     = m_LifePrent.GetSkin().ProPerty.HelpPoint.GetVauleByKey(HelpPointName.FirePos);
        Transform  fireplace = posgo.transform;

        if (fireplace != null)
        {
            string bulletname = "1003051";

            GameObject go = GameObjectLoader.LoadPath("effect/prefab/", bulletname, BattleEnvironmentM.GetLifeMBornNode(true));
            go.transform.position = fireplace.position;
            if (m_LifePrent.WalkDir == WalkDir.WALKRIGHT)
            {
                go.transform.localScale = new Vector3(-go.transform.localScale.x, go.transform.localScale.y, go.transform.localScale.z);
            }
            Bullet bullet = go.AddComponent <Bullet>();
            if (bullet != null)
            {
                Bullet.BulletType t = Bullet.BulletType.bomb1028;

                Vector3 vpos = pos.pos;
                vpos.y = go.transform.localPosition.y;
                bullet.SetInfo(vpos, m_DoAttack, 10f, m_LifePrent.WalkDir, t, skill);
            }
        }
    }
示例#5
0
            private bool RenderLoadedObjectProperties()
            {
                bool dataChanged = false;

                if (_gameObject._scene.IsSceneValid())
                {
                    Scene scene = _gameObject._scene.GetScene();

                    if (scene.isLoaded)
                    {
                        if (!_editorSceneLoaded)
                        {
                            _editorLoaderGameObject = _gameObject.GetGameObjectLoader(scene);
                            _editorComponent        = GetBaseComponent();
                            _editorSceneLoaded      = true;
                        }

                        if (_editorLoaderGameObject != null)
                        {
                            if (_editorLoaderGameObject.IsLoaded())
                            {
                                if (!_editorLoaderIsLoaded)
                                {
                                    _editorComponent      = GetBaseComponent();
                                    _editorLoaderIsLoaded = true;
                                }

                                dataChanged |= RenderLoadedObjectField();
                                dataChanged |= RenderComponentIndexField();
                            }
                            else
                            {
                                _editorLoaderIsLoaded = false;

                                if (_gameObject.RenderLoadedNotLoadedField(_editorLoaderGameObject))
                                {
                                    ClearComponent();
                                    dataChanged = true;
                                }
                            }
                        }
                    }
                    else
                    {
                        _editorSceneLoaded = false;

                        if (_gameObject.RenderSceneNotLoadedField())
                        {
                            ClearComponent();
                            dataChanged = true;
                        }
                    }
                }
                else
                {
                    dataChanged |= RenderLoadedObjectField();
                }

                return(dataChanged);
            }
    void Awake()
    {
        //各ゲームオブジェクトのロードチェック
        //初回起動チェック
        bool loadedAll = false;

        GameObject[] gos = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[];
        foreach (GameObject go in gos)
        {
            GameObjectLoader ol = go.GetComponent <GameObjectLoader>();
            if (ol)
            {
                if (ol.loaded)
                {
                    loadedAll = true;
                    break;
                }
            }
        }
        if (loadedAll)
        {
            Destroy(gameObject);
            return;
        }
        loaded = true;


        //Awake処理
        if (!loadedAwake)
        {
            loadedAwake = true;
            LoadGameObject(loadGameObjectListAwake, loadedGameObjectListAwake);
        }
    }
示例#7
0
    /// <summary>
    /// 创建炮弹兵
    /// </summary>
    void CreateSoldier(SoldierInfo Info)
    {
        if (Info == null)
        {
            return;
        }
        Role r = new Role();

        r.CreateSkin(MyHead.DropHero, Info.m_modeltype, Info.m_name, AnimatorState.Stand);
        //IGameRole i = GameRoleFactory.Create(MyHead.DropHero,Info.m_modeltype, Info.m_name, AnimatorState.Stand);
        GoSoldier      = r.RoleSkinCom.tRoot.gameObject;
        GoSoldier.name = Info.m_name;
        GoSoldier.transform.localScale = new Vector3(120f, 120f, 120f);
        Vector3 pos = GoSoldier.transform.localPosition;

        pos.z -= 270;
        pos.y += 20;
        GoSoldier.transform.localPosition = pos;
        GameObjectLoader.SetGameObjectLayer(GoSoldier, gameObject.layer);
        m_Tropies = GoSoldier;
        if (Info.m_modeltype == 100003)
        {
            r.RoleSkinCom.ShowLeftHand(false);
            CreatePet1002(GoSoldier.transform);
        }
        SetStarsLevel(Info.StarLevel);
        SetRoleType(Info.m_main_proerty);
        SetSkillShow(Info.SoldierTypeID);
        NGUIUtil.SetActive(MyHead.HeroInfo, true);
        NGUIUtil.SetActive(MyHead.BtnOK.gameObject, false);
    }
示例#8
0
    private void AddGrayItem()
    {
        float iSolid     = 0;
        float iIntensity = 0;
        float iTenacity  = 0;

        buildingM.GetStarInfoGrow(m_Info, ref iSolid, ref iIntensity, ref iTenacity);


        GameObject go = GameObjectLoader.LoadPath("Prefabs/UI/", "SkillIntroduceWnd", MyHead.table.transform);

        go.transform.localPosition = new Vector3(MyHead.table.transform.localPosition.x, go.transform.localPosition.y, go.transform.localPosition.z);
        SkillIntroduceWnd skilWnd = go.GetComponent <SkillIntroduceWnd>();

        GameObject      labGo = NDLoad.LoadWndItem("DoubleLabelItem", skilWnd.MyHead.table.transform);
        DoubleLabelItem item  = labGo.GetComponent <DoubleLabelItem>();

        item.SetData(iSolid.ToString(), "[EC0808]" + NGUIUtil.GetStringByKey(10000068) + "[-]", iIntensity.ToString(), "[40B1E1]" + NGUIUtil.GetStringByKey(10000069) + "[-]");
        //MyHead在SetData中初始化,所以这句要在后面
        item.MyHead.SprIcon.enabled = false;

        GameObject      SinglabGo  = NDLoad.LoadWndItem("DoubleLabelItem", skilWnd.MyHead.table.transform);
        DoubleLabelItem SingleItem = SinglabGo.GetComponent <DoubleLabelItem>();

        SingleItem.SetData(iTenacity.ToString(), "[088454]" + NGUIUtil.GetStringByKey(10000070) + "[-]", "", "");
        SingleItem.MyHead.SprIcon.enabled = false;


        skilWnd.MyHead.table.Reposition();
    }
示例#9
0
    void LoadStageContext(int Stage, StageType type)
    {
        if (m_Contxt != null)
        {
            GameObject.DestroyImmediate(m_Contxt.gameObject);
            m_Contxt = null;
        }

        string text = "StageContext_";

        if (type == StageType.Hard)
        {
            text = "HardStageContext_";
        }

        GameObject go = GameObjectLoader.LoadPath("Prefabs/Stage/", text + m_Chapter, MyHead.transform);

        if (go == null)
        {
            NGUIUtil.ShowFreeSizeTipWnd(20000000, null, 10);
            return;
        }
        GameObjectLoader.SetGameObjectLayer(go, MyHead.gameObject.layer);
        m_Contxt = go.GetComponent <StageContext>();
        if (m_Contxt != null)
        {
            m_Contxt.SetStageContext(m_type, m_Chapter);
        }
    }
示例#10
0
 /// <summary>
 ///  攻击范围 光效半圆环
 /// </summary>
 /// <param name="isShow">是否显示</param>
 /// <param name="radius">攻击半径</param>
 public void ShowAttackRangeSemi(bool isShow, float radius = 1.0f)
 {
     if (isShow)
     {
         if (AttackRangeSemiCircle02 == null && AttackRangeSemiCircle01 == null)
         {
             AttackRangeSemiCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000681_01", m_thisT);
             Vector3 pos = AttackRangeSemiCircle01.transform.position;
             AttackRangeSemiCircle01.transform.position = U3DUtil.AddX(pos, 1.5f);
             AttackRangeSemiCircle01.transform.Rotate(0, -180f, 0);
             GameObjectActionExcute       gae  = AttackRangeSemiCircle01.AddComponent <GameObjectActionExcute>();
             GameObjectActionWait         wait = new GameObjectActionWait(1 + Time.deltaTime, ShowSemiLoop);
             GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1f);
             gae.AddAction(wait);
             gae.AddAction(fade);
         }
     }
     else
     {
         if (AttackRangeSemiCircle01)
         {
             GameObject.Destroy(AttackRangeSemiCircle01);
         }
         if (AttackRangeSemiCircle02)
         {
             GameObject.Destroy(AttackRangeSemiCircle02);
         }
     }
 }
示例#11
0
 public override void InitBuildModel()
 {
     base.InitBuildModel();
     m_goEffect1003031 = GameObjectLoader.LoadPath("effect/prefab/", "1003031", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.skinroot).transform);
     m_goEffect1003031.transform.position = GetPos();
     m_goEffect1003031.SetActive(false);
 }
示例#12
0
    public void UpQualityEffect()
    {
        SetEnableQuality(true);

        SoundPlay.Play("hero_promotion", false, false);
        UpReSetUI();

        Vector3 pos = new Vector3(0, -10, ConstantData.iDepBefore3DModel);
        GameObjectActionExcute gae = EffectM.LoadEffect("effect/prefab/", "2000721",
                                                        pos, MyHead.EffectParent.gameObject.transform);

        gae.gameObject.AddComponent <SetRenderQueue>();

        if (gae != null)
        {
            GameObjectLoader.SetGameObjectLayer(gae.gameObject, MyHead.EffectParent.gameObject.layer);
            GameObjectActionDelayDestory ndEffect = new GameObjectActionDelayDestory(2f);
            gae.AddAction(ndEffect);
            gae.gameObject.transform.localPosition = pos;
        }

        int iHpAdd = m_Info.m_hp - m_backUpBuild.m_hp;
        int iPower = m_Info.m_DefensePower - m_backUpBuild.m_DefensePower;

        AddHudTextShow(NGUIUtil.GetStringByKey(10000080) + " +" + iPower.ToString("0.00"));
        AddHudTextShow(NGUIUtil.GetStringByKey(10000081) + " +" + iHpAdd.ToString("0.00"), 0.8f);

        NGUIUtil.ExcuteWaitAction(gameObject, 1.8f, ShowUpQuilityWndCallBack);
    }
示例#13
0
    public override void Start()
    {
        base.Start();

        GameObject box = U3DUtil.FindChild(m_target, "box");

        if (box != null)
        {
            box.SetActive(false);
        }


        GameObject go = GameObjectLoader.LoadPath("effect/prefab/", "2000601", m_target.transform);

        if (go != null)
        {
            GameObjectLoader.SetGameObjectLayer(go, LayerMask.NameToLayer("Resource"));
            ParticleSystem s = go.GetComponent <ParticleSystem>();
            if (s != null)
            {
                s.Play();
            }
        }

        m_itemTransform = SetEffect(m_itemtype, m_itemID);
    }
示例#14
0
    public override void Handle(UserEvent e)
    {
        switch (e.type)
        {
        case UserEvent.EventType.LA:
        {
            GameObjectLoader.LoadGameObject((e.rawContent as LA).AssetName);
            break;
        }

        case UserEvent.EventType.GA:
        {
            var proto = e.rawContent as GA;
            GOCollection.AddGameObject(proto.GOID, proto.AssetName);

            break;
        }

        case UserEvent.EventType.GR:
        {
            GOCollection.DeleteGameObjectByGOId((e.rawContent as GR).GOID);
            break;
        }

        default:
        {
            return;
        }
        }
    }
示例#15
0
    /// <summary>
    /// 创建房间对象
    /// </summary>
    /// <param name="Info">建筑数据</param>
    /// <param name="Parent">挂载点</param>
    /// <returns>LifeProperty</returns>
    private static LifeProperty CreateBuildSkin(BuildInfo Info, Transform Parent, Vector3 WorldPos)
    {
        if (Info == null || Parent == null)
        {
            return(null);
        }

        string     name          = Info.m_modeltype.ToString() + "@Skin";
        GameObject m_objRoleRoot = new GameObject();

        m_objRoleRoot.transform.parent        = Parent;
        m_objRoleRoot.transform.localPosition = new Vector3(0, 0, 0);
        m_objRoleRoot.name = Info.m_name;
        m_objRoleRoot.transform.position   = WorldPos;
        m_objRoleRoot.transform.localScale = Vector3.one;
        GameObject build = GameObjectLoader.LoadPath("Prefabs/Buildings/", name, m_objRoleRoot.transform);

        if (build == null)
        {
            GameObject.Destroy(m_objRoleRoot);
            Debug.Log("buildname: " + name + ",类型为" + Info.BuildType + "建筑资源不存在");
            return(null);
        }
        LifeProperty property = build.GetComponent <LifeProperty>();

        return(property);
    }
示例#16
0
    /// <summary>
    /// 添加怒气特效
    /// </summary>
    /// <param name="soldierID"></param>
    private void AddAngerEffect()
    {
        PlayEffectColor(SkinEffectColor.Anger, 0.04f);
        if (m_AngerEffect != null)
        {
            return;
        }
        //ProPerty.h.FlashingOn(Color.white, Color.yellow, 5);
        GameObject go = GameObjectLoader.LoadPath("effect/prefab/", "2000211", m_tRoot);

        //go.transform.position += new Vector3(0, 0.2f, 0);
        GameObject posgo = ProPerty.HelpPoint.GetVauleByKey(HelpPointName.EffectBottomPos);
        Vector3    pos   = posgo.transform.position;

        pos.z += 1;
        go.transform.position = pos;
        go.transform.parent   = m_tbody;
        if (go != null)
        {
            m_AngerEffect = go;
        }
        else
        {
            Debug.Log("怒气特效未加载失败");
        }
    }
示例#17
0
    /// <summary>
    /// 创建 3D 角色
    /// </summary>
    void Create3DSoldier()
    {
        if (m_soldierInfo == null)
        {
            return;
        }
        if (m_role == null)
        {
            m_role = new Role();
        }
        m_role.CreateSkin(MyHead.SoldierPos, m_soldierInfo.m_modeltype, m_soldierInfo.m_name, AnimatorState.Stand);
        //IGameRole i = GameRoleFactory.Create(MyHead.SoldierPos, m_soldierInfo.m_modeltype, m_soldierInfo.m_name, AnimatorState.Stand);
        if (m_role == null)
        {
            NGUIUtil.DebugLog("创建3D角色出错:modelType =" + m_soldierInfo.m_modeltype);
            return;
        }
        GameObject go = m_role.RoleSkinCom.tRoot.gameObject;

        go.name = m_soldierInfo.m_name;
        go.transform.localScale = new Vector3(100f, 100f, 100f);
        Vector3 pos = go.transform.localPosition;

        pos.z -= 270;
        pos.y += 20;
        go.transform.localPosition = pos;
        GameObjectLoader.SetGameObjectLayer(go, gameObject.layer);
        if (m_soldierInfo.m_modeltype == 100003)
        {
            CreatePet1002(go.transform);
        }
    }
示例#18
0
    /// <summary>
    /// 编辑模式下添加墙
    /// </summary>
    public static void CreateWall(Vector3 pos, Transform t)
    {
        GameObject g = GameObjectLoader.LoadPath("Prefabs/Boats/100/", "100116@Skin", t);

        g.transform.rotation = Quaternion.identity;
        g.transform.Rotate(0, 180, 0, Space.Self);
        g.transform.position = pos;
    }
示例#19
0
    private void ShowSemiLoop(object o)
    {
        AttackRangeSemiCircle02 = GameObjectLoader.LoadPath("effect/prefab/", "2000681_02", m_thisT);
        Vector3 pos = AttackRangeSemiCircle02.transform.position;

        AttackRangeSemiCircle02.transform.position = U3DUtil.AddX(pos, 1.5f);
        AttackRangeSemiCircle02.transform.Rotate(0, -180f, 0);
    }
示例#20
0
 public override void InitBuildModel()
 {
     base.InitBuildModel();
     m_goEffect1003031 = GameObjectLoader.LoadPath("effect/prefab/", "1003031", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.help01).transform);
     //m_goEffect1003031.transform.position = GetPos ();
     m_goEffect1003031.SetActive(false);
     SetAnimator(Build_AnimatorState.Stand10000);
 }
示例#21
0
            public static void Load(Scene scene, Ref loaderRef)
            {
                GameObjectLoader loader = SceneUtils.FindInScene <GameObjectLoader>(scene, loaderRef._loaderName);

                if (loader != null)
                {
                    loader.Load();
                }
            }
示例#22
0
        public static GameObject Load(BinaryReader reader)
        {
            string typeName = reader.ReadString();

            System.Type      type   = System.Type.GetType(typeName);
            GameObjectLoader loader = (GameObjectLoader)System.Activator.CreateInstance(type);

            return(loader.Load(reader));
        }
示例#23
0
        public void Load()
        {
            //Load Level data here.
            _gameData.WriteToConsole(new[] { "Loading Level Data...\r" });
            GameObjectLoader gol = new GameObjectLoader("Assets//Scripts//Gamedat.xml");

            _aiFactory = new AiFactory(gol.GetAiParser(), _gameData);
            CreateLevel();
        }
示例#24
0
 public override void InitBuild()
 {
     base.InitBuild();
     SetGoldFactor();
     //临时
     m_goEffect1901021 = GameObjectLoader.LoadPath("effect/prefab/", "1901021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.boneroot).transform);
     HP           = fullHP;
     CM.GoldBuild = this;
 }
示例#25
0
            private bool RenderLoadedProperties()
            {
                if (_scene.IsSceneValid())
                {
                    Scene scene = _scene.GetScene();

                    if (scene.IsValid() && scene.isLoaded)
                    {
                        if (!_editorSceneLoaded)
                        {
                            _editorLoaderGameObject = GetGameObjectLoader(scene);
                            _editorGameObject       = GetLoadedObject(scene);
                            _editorSceneLoaded      = true;
                        }

                        if (_editorLoaderGameObject != null)
                        {
                            if (_editorLoaderGameObject.IsLoaded())
                            {
                                if (!_editorLoaderIsLoaded)
                                {
                                    _editorGameObject     = GetLoadedObject(_scene.GetScene());
                                    _editorLoaderIsLoaded = true;
                                }

                                return(RenderLoadedObjectField());
                            }
                            else
                            {
                                _editorLoaderIsLoaded = false;

                                if (RenderLoadedNotLoadedField(_editorLoaderGameObject))
                                {
                                    ClearGameObject();
                                    return(true);
                                }
                            }
                        }
                    }
                    else
                    {
                        _editorSceneLoaded = false;

                        if (RenderSceneNotLoadedField())
                        {
                            ClearGameObject();
                            return(true);
                        }
                    }
                }
                else
                {
                    return(RenderLoadedObjectField());
                }

                return(false);
            }
示例#26
0
            public void ClearComponent()
            {
                _gameObject.ClearGameObject();
                _componentIndex = 0;

                _editorComponent        = null;
                _editorLoaderGameObject = null;
                _editorSceneLoaded      = false;
                _editorLoaderIsLoaded   = false;
            }
示例#27
0
 public override void InitBuildModel()
 {
     base.InitBuildModel();
     m_goEffect1912011 = GameObjectLoader.LoadPath("effect/prefab/", "1912011", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.help01).transform);
     m_goEffect1912011.SetActive(false);
     m_goPao = m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.help02);
     m_goPao.transform.localRotation = Quaternion.Euler(new Vector3(0, -45f, 0));
     m_vDirGreed = new Vector3(0, -45f, 0);
     m_vCurGreed = new Vector3(0, -45f, 0);
 }
示例#28
0
    public void LoadCanvasBox()
    {
        CanvasUnitBG unitBg = TouchMoveManager.GetCanvasUnitBG(Int2.zero);

        if (unitBg)
        {
            m_GoCanvasBox = GameObjectLoader.LoadPath("Prefabs/Others/", "CanvasBox", WndManager.GetWndRoot().transform);
            Vector3 worldPos = unitBg.transform.position;
            NGUIUtil.Set3DUIPos(m_GoCanvasBox, worldPos);
        }
    }
示例#29
0
    public override void InitBuildModel()
    {
        base.InitBuildModel();

        /*m_goEffect1914011  = GameObjectLoader.LoadPath("effect/prefab/", "1914011", m_thisT);
         * m_goEffect1914011.SetActive (true);*/

        m_goEffect1914021 = GameObjectLoader.LoadPath("effect/prefab/", "1914021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.boneroot).transform);
        m_goEffect1914021.SetActive(false);
        m_eventtime = 0.2f;
    }
示例#30
0
    public override void InitBuildModel()
    {
        base.InitBuildModel();
        m_goEffect1916011 = GameObjectLoader.LoadPath("effect/prefab/", "1916011", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.skinroot).transform);
        m_goEffect1916011.SetActive(true);

        m_goEffect1916021_01 = GameObjectLoader.LoadPath("effect/prefab/", "1916021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.help01).transform);
        m_goEffect1916021_01.SetActive(true);
        m_goEffect1916021_02 = GameObjectLoader.LoadPath("effect/prefab/", "1916021", m_Property.HelpPoint.GetVauleByKey(BuildHelpPointName.help02).transform);
        m_goEffect1916021_02.SetActive(true);
    }