예제 #1
0
 public void init(int iLevelID, LConnector iStartingLevelConnector)
 {
     selected_lconn = iStartingLevelConnector;
     selected_poi   = iStartingLevelConnector;
     selected_stage = null;
     level_id       = iLevelID;
     is_init        = true;
 }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        if (!is_init)
        {
            return;
        }

        if (neighbor != null)
        {
            if (neighbor is Stage)
            {
                Stage neighbor_stage = (Stage)neighbor;
                if (neighbor_stage.isUnlocked())
                {
                    selected_stage?.UnLoad();
                    selected_stage = neighbor_stage;
                    selected_poi   = neighbor;
                    moveTo(neighbor.gameObject.transform);

                    if (!!selected_stage)
                    {
                        InterSceneCache.stage_from = selected_stage.id;
                        InterSceneCache.world_from = level_id;
                        selected_stage.Load();
                    }
                    else if (!!selected_poi && !!selected_lconn)
                    {
                        InterSceneCache.world_from = level_id;
                        InterSceneCache.stage_from = InterSceneCache.UNDEFINED;
                        selected_lconn.Load();
                    }
                    else
                    {
                        Debug.Log("FAILED TO LOAD LEVEL SCENE. NO SELECTED STAGE.");
                    }
                }
                else
                {
                    // play SFX or send feedback that stage is currently locked.
                    Debug.Log("Targeted neighbor stage is locked. Complete current stage before moving on.");
                }
            }
            else if (neighbor is LConnector)
            {
                // check selected stage is done
                if (selected_stage.isDone() || selected_stage.isStartingStage)
                {
                    selected_poi   = neighbor;
                    selected_stage = null;
                    selected_lconn = (LConnector)neighbor;
                    moveTo(neighbor.gameObject.transform);
                }
            }
            neighbor = null;
        }
    }//! Update
예제 #3
0
    public void init(int iLevelID, Stage iStartingStage)
    {
        selected_stage = iStartingStage;
        selected_poi   = iStartingStage;
        level_id       = iLevelID;
        selected_lconn = null;

        selected_stage.Load();

        is_init = true;
    }