Exemplo n.º 1
0
    // ================================== PRIVATE FUNCS ==================================
    #region Private Funcs
    private bool GenScene(SceneType a_sceneType)
    {
        SceneInfo sceneInfo = DbMgr.s_Instance.GetSceneInfo(a_sceneType);

        if (sceneInfo == null)
        {
            return(false);
        }

        GameObject scenePref = Resources.Load <GameObject>(sceneInfo.m_PrefPath);

        if (scenePref == null)
        {
            return(false);
        }

        // destroy old scene (if had)
        if (m_CurGScene)
        {
            m_CurGScene.OnDestroyObj();
        }

        // instantiate & init new scene
        GameObject sceneObj = Instantiate(scenePref, transform);

        m_CurGScene = sceneObj.GetComponent <GScene>();
        m_CurGScene.OnCreateObj();

        // add HUD
        GHUD gHUD = GenHUD(sceneInfo);

        m_CurGScene.Init(sceneInfo, gHUD);

        return(true);
    }
Exemplo n.º 2
0
    // GElement Override
    public override void Init(GScene a_Scene)
    {
        base.Init(a_Scene);

        // fix POS X of Container
        FixPosXOfCont();
    }
Exemplo n.º 3
0
    // GElement Override
    public override void Init(GScene a_Scene)
    {
        base.Init(a_Scene);

        // get Fish info
        string fishIndex = (Ref_GScene as StoryGameBossMgr).PCurNodeInfo.m_FishIndex;

        m_BossInfo = DbMgr.s_Instance.GetFishInfo(fishIndex);

        // set Avata off Boss
        (Ref_GScene as StoryGameBossMgr).SetBossAva(fishIndex);
        // set Atk time of Boss
        m_BossAtkTime = Vector2.one * m_BossAtkTimeDesign;
        // set Hp default of Boss
        m_TargetHp = m_BossInfo.m_FishHP.m_CurrentHP = m_BossInfo.m_FishHP.m_MaxHP;
        // update Hp bar
        Vector2 bossHP = new Vector2(m_BossInfo.m_FishHP.m_CurrentHP, m_BossInfo.m_FishHP.m_MaxHP);

        (Ref_GScene as StoryGameBossMgr).UpdateBossHP(bossHP);

        // set State default of Boss = Move
        UpdateBossState(Fish.FishState.Move);

        // set Movement range
        Vector2 camSize   = CameraController.s_Instance.GetWorldUnitSize();
        Vector2 topCamPos = CameraController.s_Instance.GetTopCamPos();

        m_MvmRangeYCoord = new Vector2(topCamPos.y - (m_MvmRangeYWorldUnit.x * camSize.y), topCamPos.y - (m_MvmRangeYWorldUnit.y * camSize.y));

        // set default Position of fish (in mvm range)
        Vector2 pos = transform.position;

        pos.y = Random.RandomRange(m_MvmRangeYCoord.x, m_MvmRangeYCoord.y);
        transform.position = pos;
    }
Exemplo n.º 4
0
    // GElement Override
    public override void Init(GScene a_Scene)
    {
        base.Init(a_Scene);

        // set SCALE for mvm zone
        Vector2 camSize   = CameraController.s_Instance.GetWorldUnitSize();
        Vector2 topCamPos = CameraController.s_Instance.GetTopCamPos();

        m_MvmZoneYLimit = new Vector2(topCamPos.y - (m_MovementZoneY.x * camSize.y), topCamPos.y - (m_MovementZoneY.y * camSize.y));

        // Load SPRITEs for Fish
        string fishIndex = (Ref_GScene as StoryGameMgr).PCurNodeInfo.m_FishIndex;

        m_FishInfo = DbMgr.s_Instance.GetFishInfo(fishIndex);

        // load Sprites for fish
        m_FishSpritesMgr.Init(GetComponent <SpriteRenderer>(), m_FishInfo);
        // default fish state = STAND
        m_FishInfo.m_CurFishState = Fish.FishState.Stand;
        // update Sprites for fish (following current state)
        m_FishSpritesMgr.UpdateSprites(m_FishInfo.m_CurFishState);

        // set default POSITION of fish
        Vector2 pos = transform.position;

        pos.y = Random.RandomRange(m_MvmZoneYLimit.x, m_MvmZoneYLimit.y);
        transform.position = pos;
    }
Exemplo n.º 5
0
        void StartServerGame()
        {
            NetOutgoingMessage _message;

            Player1          = GScene.Create <Player>();
            Player1.IsServer = true;
            _message         = GNet.CreateMessage();
            _message.Write((byte)Systems.ObjectType.Player);
            Player.CreateSpec.Serialize(Player1, _message);
            GNet.SendMessage(Systems.MessageType.CreateObject, _message);

            Player2          = GScene.Create <Player>();
            Player2.IsServer = false;
            _message         = GNet.CreateMessage();
            _message.Write((byte)Systems.ObjectType.Player);
            Player.CreateSpec.Serialize(Player2, _message);
            GNet.SendMessage(Systems.MessageType.CreateObject, _message);

            _Started = true;
        }
Exemplo n.º 6
0
    // GElement Override
    public override void Init(GScene a_Scene)
    {
        base.Init(a_Scene);

        // set SCALE for mvm zone
        Vector2 camSize   = CameraController.s_Instance.GetWorldUnitSize();
        Vector2 topCamPos = CameraController.s_Instance.GetTopCamPos();

        m_MvmZoneYLimit = new Vector2(topCamPos.y - (m_MovementZoneY.x * camSize.y), topCamPos.y - (m_MovementZoneY.y * camSize.y));

        // set default POSITION of fish
        Vector2 pos = transform.position;

        pos.y = Random.RandomRange(m_MvmZoneYLimit.x, m_MvmZoneYLimit.y);
        transform.position = pos;

        // set Flip Face for fish
        SpriteRenderer fishSr = GetComponent <SpriteRenderer>();

        fishSr.flipX = (m_FishType == FishType.Player);
    }
Exemplo n.º 7
0
        private void GNet_OnGotMessage(Systems.IncomingMessage message)
        {
            switch (message.Type)
            {
            case Systems.MessageType.Hail:
                GNet.OpponentName = message.Message.ReadString();

                if (GNet.IsServer)
                {
                    StartServerGame();
                }

                break;

            case Systems.MessageType.CreateObject:
            {
                var _objType = (Systems.ObjectType)message.Message.ReadByte();

                switch (_objType)
                {
                case Systems.ObjectType.Player:
                    var _createSpec = Player.CreateSpec.Deserialize(message.Message);

                    Player _player;

                    if (_createSpec.IsServer)
                    {
                        _player = Player1 = GScene.Create <Player>(null, _createSpec.Id);
                    }
                    else
                    {
                        _player = Player2 = GScene.Create <Player>(null, _createSpec.Id);
                    }

                    _createSpec.Apply(_player);

                    break;
                }
            }

            break;

            case Systems.MessageType.UpdateObject:
            {
                var _objType = (Systems.ObjectType)message.Message.ReadByte();

                switch (_objType)
                {
                case Systems.ObjectType.Player:
                    var _updateSpec = Player.UpdateSpec.Deserialize(message.Message);

                    Player _player = GScene.GetObject <Player>(_updateSpec.Id);

                    _updateSpec.Apply(_player);

                    break;
                }
            }

            break;

            case Systems.MessageType.StartGame:
                _Started = true;
                break;
            }
        }
Exemplo n.º 8
0
 public virtual void Init(GScene a_Scene)
 {
     Ref_GScene = a_Scene;
 }
Exemplo n.º 9
0
 // GElement Override
 public override void Init(GScene a_Scene)
 {
     base.Init(a_Scene);
 }