private IEnumerator GetCustomerDataFromNpcDatabase(LevelBase level)
    {
        yield return(new WaitUntil(() => NpcData.CanRead));

        this.CustomerData  = NpcData.GetDatabaseEntry(NpcId);
        orderDialogueCache = this.CustomerData.GetCustomerDialogue(level.Id, 0);
    }
Exemplo n.º 2
0
        public override void LoadContent()
        {
            _ball = new Ball(Configuration.BallDiameter, Configuration.Gravity);

            _currentLevel = new Level1();
            _currentLevel.AddPlayer(_ball);
        }
Exemplo n.º 3
0
    public static void Create(LevelBase m)
    {
        // Get outer shape
        if (m.root != null)
        {
            DestroyImmediate(m.root.gameObject);
        }
        GameObject root = new GameObject("Root");
        m.root = root.transform;
        m.root.parent = m.transform;

        //List<GameObject> created = new List<GameObject>();

        foreach (Transform t in m.transform)
        {
            if (t.name == "Shape")
            {
                GameObject o = CreateMeshFromColl(m, t, t.GetComponents<LevelShape>());
                o.layer = 25;
                o.transform.parent = m.root;

                //// Create shadow
                //GameObject shadow = Instantiate(o) as GameObject;
                //shadow.GetComponent<MeshRenderer>().material = m.hillMaterialShadow;
                //shadow.transform.parent = m.root;

                //shadow.transform.Translate(m.shadowOffset);
            }
        }
    }
Exemplo n.º 4
0
 void GetLevelCreatorInfo()
 {
     levelCreatorInfo = AssetDatabase.LoadAssetAtPath("Assets/Resources/Prefabs/LevelCreatorInfo.prefab", typeof(LevelCreatorInfo)) as LevelCreatorInfo;
     levelBasePrefab  = levelCreatorInfo.levelBase;
     basicRoomPrefab  = levelCreatorInfo.basicRoom;
     doorPrefab       = levelCreatorInfo.doorPrefab;
 }
Exemplo n.º 5
0
    public static void CreateBounds(LevelBase m)
    {
        if (m.collider2D != null)
        {
            DestroyImmediate(m.collider2D);
        }

        List<LevelBoundsNode> n = new List<LevelBoundsNode>();

        GetNodes(m.transform, n);

        Debug.Log("Found " + n.Count + " nodes");

        if (n.Count > 2)
        {

            List<Vector2> vecs = new List<Vector2>();
            foreach (LevelBoundsNode bn in n)
            {
                vecs.Add(new Vector2(bn.transform.position.x, bn.transform.position.y));
            }
        //			vecs.Add(new Vector2( n[0].transform.position.x, n[0].transform.position.y));

            CreateVector(m, vecs);

            EdgeCollider2D c = m.gameObject.AddComponent<EdgeCollider2D>();
            c.points = vecs.ToArray();

        }
        // TODO create vector
    }
Exemplo n.º 6
0
 public void SwitchState(GameState gameState)
 {
     switch (gameState)
     {
         case GameState.LEVEL_1:
             this.Components.Remove(mainMenu);
             level3 = new Level3(this);
             Components.Add(level3);
             currentLevel = level3;
             break;
         case GameState.MAIN_MENU:
             this.Components.Remove(currentLevel);
             mainMenu = new MenuJewSaver(this);
             Components.Add(mainMenu);
             break;
         case GameState.LEVEL_2:
             this.Components.Remove(level1);
             level2 = new Level2(this);
             this.Components.Add(level2);
             currentLevel = level2;
             break;
         case GameState.LEVEL_3:
             this.Components.Remove(level2);
             level3 = new Level3(this);
             this.Components.Add(level3);
             currentLevel = level3;
             break;
         default:
             break;
     }
 }
Exemplo n.º 7
0
 public void ConfirmWallPlacement()
 {
     wallBeingMade.ConfirmPlacement();
     levelBases.Add(wallBeingMade);
     wallBeingMade.transform.parent = levelBaseMain.transform;
     wallBeingMade = null;
 }
Exemplo n.º 8
0
        public IEntity CreatePlayer(BaseEntityInfo info, AnimationEventStates animationEventStates)
        {
            LevelBase level = Global.NodeGraphMgr.WorldLevelRoot.ActorLevel;

            ActorImplNode actorMain = Global.FactoryMgr.CreatePoolComponent <ActorImplNode>(ePath.Actor, info.AssetInfo.SpriteName,
                                                                                            info.AssetInfo.Position, info.AssetInfo.Rotation, level.transform);


            //actorMain.Initialize(playMakerFsm, animationEventStates);

            ActorRoot actor = new ActorRoot();

            actorMain.Lock();
            actor.AttachChild(actorMain);

            IEntity entity = MakePlayer(info, actorMain);

            if (info.CombatType == eCombatType.Hero)
            {
                m_hero = entity as Hero;
            }
            else if (info.CombatType == eCombatType.Monster)
            {
            }


            AttachActor(level, actor);

            return(entity);
        }
Exemplo n.º 9
0
        private void AttachActor(LevelBase level, IGraphNodeGroup nodeGroup)
        {
            Debug.Assert(level != null);

            nodeGroup.BhvOnEnter();
            level.AttachChild(nodeGroup);
        }
Exemplo n.º 10
0
 public static void SetActiveLevel(LevelBase level)
 {
     if (levelData.ContainsKey(level.Id))
     {
         activeLevel = level;
     }
 }
Exemplo n.º 11
0
    public void OnClick()
    {
        if (GameTicketManager.Instance.PlayGamePopUp.activeSelf || GameErrorDisplayManager.Instance.ErrorDisplaying || GameTicketManager.Instance.LoadingScreen.activeSelf)
        {
            return;
        }
        int       levelNo = int.Parse(LevelNo.text.Split(' ')[1]);
        LevelBase level   = LevelsSO.instance.Levels[levelNo - 1];

        if (level != null)
        {
            if (GameStarManager.Instance.TotalStars >= level.StarsToUnlock && !level.Locked)
            {
                GameTicketManager.Instance.SelectedLevel = levelNo;
                GameTicketManager.Instance.ShowPlayGamePopUp(true);
            }
            else
            {
                if (GameStarManager.Instance.TotalStars >= level.StarsToUnlock)
                {
                    GameErrorDisplayManager.Instance.DisplayError("Collect atleast one Star in previous Level to unlock this Level");
                }
                else
                {
                    GameErrorDisplayManager.Instance.DisplayError("Collect " + level.StarsToUnlock + " Stars in previous Levels to unlock this Level");
                }
            }
        }
        else
        {
            Debug.LogError(String.Format("Level {0} SO not configured properly", levelNo));
        }
    }
Exemplo n.º 12
0
    public static void CreateVector(LevelBase m, List<Vector2> vecs)
    {
        VectorLine vecline;

        if (m.boundsVector != null)
        {
            DestroyImmediate(m.boundsVector);
        }

        vecs.Reverse();

        //Vector2[] splinePoints = new Vector2[numberOfHills*2 + 1];

        vecline = new VectorLine("Hills",
        //		                         new Vector2[m.numberOfPoints],
                                 vecs.ToArray(),
                                 m.hillMaterial, m.width, LineType.Continuous, Joins.Weld);
        //vecline.useViewportCoords = true;

        //		hills.collider = true;

        //		vecline.MakeSpline( vecs.ToArray(), true ) ;
        vecline.Draw3D();

        m.boundsVector = vecline.vectorObject;
        m.boundsVector.transform.parent = m.transform;
        m.boundsVector.layer = 0;

        GameObject vectorCam = GameObject.Find("VectorCam");
        if (vectorCam != null)
            DestroyImmediate(vectorCam);
    }
Exemplo n.º 13
0
        public LevelBase GetLevelHander(LevelType type)
        {
            LevelBase level = null;

            levels.TryGetValue(type, out level);
            return(level);
        }
Exemplo n.º 14
0
 // Use this for initialization
 void Start()
 {
     level    = GameObject.Find("Level").GetComponent <LevelBase>();
     player   = FindObjectOfType <Player>().GetComponent <Player>();
     vfx_list = new List <GameObject>();
     FlowGenerate();
     LevelUp();
     level.LevelUpHandler += LevelUp;
     target_angular        = 0;
 }
Exemplo n.º 15
0
    void CreateNewSubMesh(LevelBase originalLevelBase, LevelCreatorUtils.WallsBounds roomWallbounds, Vector3 pDirection)
    {
        LevelBase subMesh = Instantiate(levelBasePrefab);

        AddNewObject(subMesh.gameObject);
        subMesh.transform.position = originalLevelBase.transform.position;

        float zOffset = 0;

        LevelCreatorUtils.WallsBounds originalBounds = LevelCreatorUtils.BoxColliderToWallbounds(originalLevelBase.transform.position, originalLevelBase.GetComponent <BoxCollider>());
        float xScale = originalLevelBase.transform.localScale.x;
        float zScale = originalLevelBase.transform.localScale.z;

        if (pDirection.x != 0)
        {
            xScale = pDirection.x == 1 ? originalBounds.maxWallsX - roomWallbounds.maxWallsX : originalBounds.minWallsX - roomWallbounds.minWallsX;
            float topReduction    = 0;
            float bottomReduction = 0;
            //Delete top scale
            if (roomWallbounds.maxWallsZ < originalBounds.maxWallsZ)
            {
                topReduction = originalBounds.maxWallsZ - roomWallbounds.maxWallsZ;
            }
            //Delete bottom
            if (roomWallbounds.minWallsZ > originalBounds.minWallsZ)
            {
                bottomReduction = roomWallbounds.minWallsZ - originalBounds.minWallsZ;
            }
            zScale -= (topReduction + bottomReduction);
            //set to correct z pos
            if (originalBounds.maxWallsZ > roomWallbounds.maxWallsZ)
            {
                zOffset -= (originalBounds.maxWallsZ - roomWallbounds.maxWallsZ) / 2;
            }
            if (roomWallbounds.minWallsZ > originalBounds.minWallsZ)
            {
                zOffset += (roomWallbounds.minWallsZ - originalBounds.minWallsZ) / 2;
            }

            //zOffset = (((originalBounds.maxWallsZ - pUpdatedRoom.wallBounds.maxWallsZ) / 2) - ((pUpdatedRoom.wallBounds.minWallsZ - originalBounds.minWallsZ) / 2)) * -1;
            subMesh.transform.position = new Vector3(roomWallbounds.center.x, 0, originalLevelBase.transform.position.z + zOffset);
        }
        else
        {
            zScale = pDirection.z == 1 ? originalBounds.maxWallsZ - roomWallbounds.maxWallsZ : originalBounds.minWallsZ - roomWallbounds.minWallsZ;
            subMesh.transform.position = new Vector3(originalLevelBase.transform.position.x, 0, roomWallbounds.center.z);
        }
        subMesh.transform.localScale = new Vector3(Mathf.Abs(xScale), levelCreatorInfo.wallHeight, Mathf.Abs(zScale));

        subMesh.transform.position += new Vector3(((subMesh.transform.localScale.x / 2 + (roomWallbounds.maxWallsX - roomWallbounds.minWallsX) / 2) * pDirection.x),
                                                  0,
                                                  ((subMesh.transform.localScale.z / 2 + (roomWallbounds.maxWallsZ - roomWallbounds.minWallsZ) / 2) * pDirection.z));
        newLevelBases.Add(subMesh);
        subMesh.transform.parent = levelBaseMain.transform;
    }
Exemplo n.º 16
0
 public void AddLevel(int id, LevelBase level)
 {
     if (!levelDictionary.ContainsKey(id))
     {
         levelDictionary.Add(id, level);
     }
     else
     {
         Debug.LogWarning("Attempting to add multiple levels with the same Id: " + id.ToString());
     }
 }
Exemplo n.º 17
0
 public void AddLevel(int id, LevelBase level)
 {
     if (!levelDictionary.ContainsKey(id))
     {
         levelDictionary.Add(id, level);
     }
     else
     {
         Debug.LogWarning("Attempting to add multiple levels with the same Id: " + id.ToString());
     }
 }
Exemplo n.º 18
0
 void Start()
 {
     level = GameObject.Find("Level").GetComponent <LevelBase>();
     head  = GameObject.Find("Head");
     units = new GameObject[transform.childCount];
     ys    = new float[units.Length];
     for (int i = 0; i < units.Length; ++i)
     {
         units[i] = transform.GetChild(i).gameObject;
         ys[i]    = units[i].transform.localPosition.y;
     }
 }
Exemplo n.º 19
0
    public GameObject InstantitateNextBackground(float prevXPosition, out bool isNoWindowWallGenerated)
    {
        LevelBase  l        = CurrentLevel;
        GameObject nextWall = Instantiate(WallPrefab);

        nextWall.transform.position = new Vector3(prevXPosition + 5f, 6.2f, 10.8f);
        nextWall.transform.parent   = BackgroundsParent.transform;
        GameObject nextBackground = l.InstantiateWall(GemMeter, out isNoWindowWallGenerated);

        nextBackground.transform.position = new Vector3(prevXPosition + 10f, 6.2f, 10.8f);
        nextBackground.transform.parent   = BackgroundsParent.transform;
        return(nextBackground);
    }
Exemplo n.º 20
0
    public void OpenLevel <T>(LevelName levelName) where T : LevelBase
    {
        if (m_LevelNow != null)
        {
            CloseLevel();
        }
        GameObject Level = Mgr_AssetBundle.Instance.LoadAsset <GameObject>(ABTypes.prefab, levelName.ToString());

        m_LevelNow = Instantiate(Level).GetComponent <T>() as LevelBase;
        m_LevelNow.transform.SetParent(GameManager.Instance.m_MainGame.m_Level, false);
        m_LevelNow.Init();
        m_LevelNow.OnOpen();
    }
Exemplo n.º 21
0
    // Use this for initialization
#if UNITY_EDITOR
    private void OnEnable()
    {
        if (!levelBaseMain)
        {
            levelBaseMain = GameObject.Find("levelBaseMain");
            if (levelBaseMain)
            {
                GetLevelCreatorInfo();
            }
        }
        basicRoomPrefab = levelCreatorInfo.basicRoom;
        levelBasePrefab = levelCreatorInfo.levelBase;
        levelBases      = GetAllWalls();
    }
Exemplo n.º 22
0
    // запускает уровень
    public void LoadLevel(int lev)
    {
        //
        // some background sprite setting?
        //
        newLevel = GetLevel(lev);
        if (newLevel == null)
        {
            Debug.Log("newLevel == null");
            return;
        }

        StartTimer();
        //StartSpawning ();
    }
Exemplo n.º 23
0
    public void OnStartLevel()
    {
        if (m_rootNodeGroup != null)
        {
            int childCount = m_rootNodeGroup.GetNumChildren();

            for (int i = 0; i < childCount; ++i)
            {
                LevelBase level = m_rootNodeGroup.GetChild(i) as LevelBase;
                if (level != null)
                {
                    level.OnStartLevel();
                }
            }
        }
    }
Exemplo n.º 24
0
    /// <summary>
    /// Creates the base for the level where rooms can be added in
    /// </summary>
    public void SpawnBaseLevel()
    {
        levelCreatorInfo   = AssetDatabase.LoadAssetAtPath("Assets/Resources/Prefabs/LevelCreatorInfo.prefab", typeof(LevelCreatorInfo)) as LevelCreatorInfo;
        levelBaseMain      = new GameObject();
        levelBaseMain.name = "levelBaseMain";
        levelBasePrefab    = levelCreatorInfo.levelBase;
        LevelBase levelBaseStart = Instantiate(levelBasePrefab);

        levelBaseStart.transform.localScale = new Vector3(levelCreatorInfo.baseWidth, levelCreatorInfo.wallHeight, levelCreatorInfo.baseLenght);

        levelBaseStart.transform.parent = levelBaseMain.transform;
        levelBases     = new List <LevelBase>();
        rooms          = new List <Room>();
        roomBeingBuild = null;
        levelBases.Add(levelBaseStart);
    }
Exemplo n.º 25
0
        public void DestroyPlayer(IEntity entity)
        {
            eCombatType combatType = entity.CombatType;

            IGraphNodeGroup parentnode = entity.Main.Parent as IGraphNodeGroup;

            Debug.Assert(parentnode != null);

            entity.Terminate();
            Remove(entity.CombatType, entity.NetID);

            LevelBase level = Global.NodeGraphMgr.WorldLevelRoot.ActorLevel;

            DetachActor(level, parentnode);

            //Global.FactoryMgr.Node.Destroy(actor);
        }
Exemplo n.º 26
0
    //Wall methods region
    #region
    public void SpawnWall()
    {
        //Instantiate wall
        levelCreatorInfo = AssetDatabase.LoadAssetAtPath("Assets/Resources/Prefabs/LevelCreatorInfo.prefab", typeof(LevelCreatorInfo)) as LevelCreatorInfo;
        levelBasePrefab  = levelCreatorInfo.levelBase;
        wallBeingMade    = Instantiate(levelBasePrefab);
        wallBeingMade.transform.localScale         = new Vector3(2, levelCreatorInfo.wallHeight, 2);
        ActiveEditorTracker.sharedTracker.isLocked = true;
        GameObject[] selectObject = new GameObject[1];
        selectObject[0]   = wallBeingMade.gameObject;
        Selection.objects = selectObject;

        wallBeingMade.denominator = 1;
        wallBeingMade.numerator   = 1;
        //Check if intersecting with walls

        //Cut of part that is intersecting with wall
    }
Exemplo n.º 27
0
    public void TransitionToLevel(int id)
    {
        if (levelDictionary.ContainsKey(id))
        {
            if (currentLevel != null)
            {
                currentLevel.OnEndLevel();
            }
            currentLevel = levelDictionary[id];
            currentLevel.OnStartLevel();

            eventManager.FireEvent(NewTargetWeightEvent, new NewTargetWeightEventArgs(currentLevel.WeightGoal, currentLevel.WeightMax));
        }
        else
        {
            Debug.LogError("Unable to find level with Id: " + id.ToString());
        }
    }
Exemplo n.º 28
0
    public void TransitionToLevel(int id)
    {
        if (levelDictionary.ContainsKey(id))
        {
            if (currentLevel != null)
            {
                currentLevel.OnEndLevel();
            }
            currentLevel = levelDictionary[id];
            currentLevel.OnStartLevel();

            eventManager.FireEvent(NewTargetWeightEvent, new NewTargetWeightEventArgs(currentLevel.WeightGoal, currentLevel.WeightMax));
        }
        else
        {
            Debug.LogError("Unable to find level with Id: " + id.ToString());
        }
    }
Exemplo n.º 29
0
    public void Init(Vector2Int tilePosition, TileType tileType, Transform parentTransform, LevelBase owner)
    {
        if (IsInitialized)
        {
            return;
        }

        TilePosition = tilePosition;
        transform.SetParent(parentTransform);
        transform.localPosition = new Vector3(TilePosition.x, TilePosition.y, 2.0f);
        TileType = tileType;
        Owner    = owner;

        UpdateSprite();
        LoadTileBehaviors();

        IsInitialized = true;
    }
Exemplo n.º 30
0
    public IEnumerator OnLoadLevel(System.Action <float> OnProgressAction)
    {
        if (m_rootNodeGroup != null)
        {
            int childCount = m_rootNodeGroup.GetNumChildren();
            if (childCount <= 0)
            {
                yield return(new WaitForEndOfFrame());

                if (OnProgressAction != null)
                {
                    OnProgressAction(1.0f);
                }

                yield break;
            }

            float baseProgress        = 0.0f;
            float loadingProgressRate = 1.0f / childCount;

            for (int i = 0; i < childCount; ++i)
            {
                LevelBase level = m_rootNodeGroup.GetChild(i) as LevelBase;
                if (level != null)
                {
                    yield return(level.OnLoadLevel((progress) =>
                    {
                        OnProgressAction(baseProgress + (progress * loadingProgressRate));
                    }));

                    baseProgress += loadingProgressRate;
                }
            }
        }

        yield return(new WaitForEndOfFrame());

        if (OnProgressAction != null)
        {
            OnProgressAction(1.0f);
        }
    }
Exemplo n.º 31
0
    public void ShowPlayGamePopUp(bool show)
    {
        LevelText.text = "LEVEL " + SelectedLevel.ToString();
        if (show)
        {
            LevelBase level           = LevelsSO.instance.Levels[SelectedLevel - 1];
            int       minWallsToClose = (level.wallLimit % 2 == 0) ? level.wallLimit / 2 : level.wallLimit / 2 + 1;
            MissionText.text = "Mission: Close " + minWallsToClose + " Windows";
            foreach (var storeObject in storeObjectIconMaps)
            {
                if (StoreObjectPurchaseController.Instance.GetNoOfStoreObjectPurchased(storeObject.storeObject) > 0)
                {
                    storeObject.Icon.SetActive(true);
                }
            }

            ShowTicketDisplay(false);
        }
        PlayGamePopUp.SetActive(show);
    }
Exemplo n.º 32
0
        private void DetachActor(LevelBase level, IGraphNodeGroup nodeGroup)
        {
            Debug.Assert(level != null);

            level.DetachChild(nodeGroup);                                                      // 레벨에서 삭제하고

            nodeGroup.BhvOnLeave();                                                            //자식들을 종료시키고

            List <GraphMonoPoolNode> lstPoolNodes = nodeGroup.GetChilds <GraphMonoPoolNode>(); // 풀노드만 빼온후

            nodeGroup.DetachAllChildren();                                                     //자식들을 제거함

            for (int i = 0; i < lstPoolNodes.Count; i++)
            {
                GraphMonoPoolNode poolNode = lstPoolNodes[i];
                poolNode.Unlock();
                Global.FactoryMgr.FastDestory(poolNode); //다시 풀링으로..
            }

            lstPoolNodes.Clear();
        }
Exemplo n.º 33
0
    // Use this for initialization
    void Start()
    {
        leftSoldierController.SetArsenal("Rifle");
        rightSoldierController.SetArsenal("Rifle");
        xPosition         = -1.0f;
        LastUnlockedLevel = -1;
        levelWalls        = new GameObject[levels.Levels.Length];
        for (int i = 0; i < levels.Levels.Length; i++)
        {
            LevelBase currentLevel = levels.Levels[i];
            bool      levelUnlocked;
            GenerateWall(currentLevel, i, out levelUnlocked);
            if (levelUnlocked)
            {
                LastUnlockedLevel = i;
            }
            xPosition += 11.0f;
        }
        Vector3 currentPos = RightWall.transform.position;

        RightWall.transform.position = new Vector3(xPosition - 3.35f, currentPos.y, currentPos.z);
        GameTicketManager.Instance.ShowTicketDisplay(true);
        GameTicketManager.Instance.isReplayGame = false;
        Debug.Log("CSU: TotalStars=" + GameStarManager.Instance.GetTotalStars());
        starCounttText.text = GameStarManager.Instance.GetTotalStars().ToString();
        GemText.text        = GemScript.Instance.TotalGems.ToString();
        float   soldierAndCameraXPosition = LastUnlockedLevel * 11.0f;
        Vector3 soldierPosition           = Soldiers.transform.position + new Vector3(soldierAndCameraXPosition, 0.0f, 0.0f);

        Soldiers.transform.position = soldierPosition;
        Vector3 cameraPosition = MainCamera.transform.position + new Vector3(soldierAndCameraXPosition, 0.0f, 0.0f);

        MainCamera.transform.position = cameraPosition;
        if (shouldUnlockLevel)
        {
            UnlockNextLevel();
            shouldUnlockLevel = false;
        }
    }
Exemplo n.º 34
0
    private void GenerateWall(LevelBase level, int index, out bool levelUnlocked)
    {
        GameObject WallRef = level.LevelWall;
        GameObject Wall    = Instantiate(WallRef);

        Wall.transform.parent = transform;
        Vector3 currentPos = Wall.transform.position;
        Vector3 Position   = new Vector3(xPosition, currentPos.y, currentPos.z);
        int     StarCount  = GameStarManager.Instance.GetStarsForLevel(level.LevelName);

        Wall.transform.position = Position;
        if (index != 0 && !shouldUnlockLevel)
        {
            LevelBase prevLevel          = levels.Levels[index - 1];
            int       prevLevelStarCount = GameStarManager.Instance.GetStarsForLevel(prevLevel.LevelName);
            if (prevLevelStarCount > 0)
            {
                level.Locked = false;
            }
        }
        bool LevelUnlocked = (GameStarManager.Instance.GetTotalStars() >= level.StarsToUnlock) && !level.Locked;

        levelUnlocked = LevelUnlocked;
        Wall.GetComponent <Animator>().SetBool("Unlock", LevelUnlocked);
        Wall.GetComponent <Animator>().SetInteger("StarCount", StarCount);
        Wall.GetComponent <LevelButtonScript>().LevelNo.text = "Level " + level.LevelName;
        if (level.AdventureTitle != null)
        {
            Wall.GetComponent <LevelButtonScript>().AdventureTitle.gameObject.SetActive(true);
            Wall.GetComponent <LevelButtonScript>().AdventureTitle.sprite = level.AdventureTitle;
        }
        for (int i = 0; i < StarCount; i++)
        {
            Wall.GetComponent <LevelButtonScript>().LitStars[i].SetActive(true);
            Wall.GetComponent <LevelButtonScript>().UnlitStars[i].SetActive(false);
        }
        levelWalls[index] = Wall;
    }
Exemplo n.º 35
0
 public void add_level(LevelBase lvl)
 {
     lvls.levels.Add(lvl);
 }
Exemplo n.º 36
0
    void CheckLevel(LevelBase level)
    {
        bool allCriteraMet = true;

        UnlockCriteria[] mUnlockCriterias = level.GetComponents<UnlockCriteria>();
        for (int j = 0; j < mUnlockCriterias.Length; j++)
        {
            UnlockCriteria mUnlockCriteria = mUnlockCriterias[j];
            if (!mUnlockCriteria.CriteriaMet())
            {
                allCriteraMet = false;
            }
        }

        if (allCriteraMet)
        {
            level.UnlockLevel();
        }
        else
        {
            level.LockLevel();
        }
    }
 public void InitializeCustomerData(LevelBase level)
 {
     level.StartCoroutine(this.GetCustomerDataFromNpcDatabase(level));
 }
Exemplo n.º 38
0
	public bool LoadCurrentLevel()
	{
		if (CurrentLevel == null)
		{
			// Load level
			if (CurrentLevelIndex < LevelArray.Length && LevelArray[CurrentLevelIndex] != null)
			{
				GameObject newLevelObj = GameObject.Instantiate(LevelArray[CurrentLevelIndex].gameObject) as GameObject;
				
				GameManager.CurrentLevel = newLevelObj.GetComponent<LevelBase>();
				
				return true;
			}
			else
			{
				Debug.Log("-- RUN OUT OF LEVELS, I GUESS YOU WON --- CurrentLevelIndex: " + CurrentLevelIndex);
				ChangeState(GameState.GameEndWin);
			}
		}
		
		return false;
	}
Exemplo n.º 39
0
	public void UpdateGameState()
	{
		if (CurrentState == GameState.LevelWin || CurrentState == GameState.LevelLost)
		{
			// Clear Game
			if (GameManager.CurrentLevel != null)
			{
				GameManager.CurrentLevel.ClearAndDestroy();
				GameManager.CurrentLevel = null;
			}
		}
		
		if (CurrentState == GameState.GameStart)
		{
			ShowUIMenu(TitleMenu);
			OnClickGotoState = GameState.Intro;
			
			// Reset game
			CurrentLevelIndex = 0;
			RetriesUsed = 0;
		}
		else if(CurrentState == GameState.Intro)
		{	
			ShowUIMenu(InfoMenu);
			OnClickGotoState = GameState.LoadLevel;
		}
		else if(CurrentState == GameState.LoadLevel)
		{
			LevelComboWins = 0;
			LevelCombosPlayed = 0;
			
			if(LoadCurrentLevel())
			{
				ShowUIMenu(null);
				ChangeState(GameState.GameAI);
			}
		}
		else if(CurrentState == GameState.GameAI)
		{
			if (GameManager.CurrentLevel != null)
			{
				ShowUIMenu(ReadyMenu);
				
				PointRaytrace.CurrentPlayerHitsID = "";
				
				// Create AI if null
				if (CurrentAI == null)
				{
					CurrentAI = AIBase.CreateAIToGameobject(GameManager.CurrentLevel.gameObject);
				}
				
				GameManager.CurrentLevel.DeactivateAll();
				
				// Showing to player what to do
				CurrentAI.StartShowHint();
			}
			else
			{
				Debug.LogError("Cant Play NULL Level!");
			}			
		}
		else if(CurrentState == GameState.GamePlayer)
		{
			ShowUIMenu(StartMenu);
			Invoke("HideUIMenus", 1f);
			
			LevelCombosPlayed++;
			
			// Players turn
			CurrentAI.Stop();
		}
		else if (CurrentState == GameState.LevelWinOutro)
		{
			ShowUIMenu(SuccessMenu);
			Invoke("LevelWinOutroComplete", 2f);
		}
		else if (CurrentState == GameState.LevelWin)
		{
			ShowUIMenu(WinMenu);
			OnClickGotoState = GameState.LoadLevel;
			CurrentLevelIndex++;
		}
		else if (CurrentState == GameState.LevelLost)
		{	
			RetriesUsed++;
			if (AcceptedRetries >= RetriesUsed)
			{
				ShowUIMenu(LostMenu);
				Debug.Log(RetriesUsed + " of " + AcceptedRetries + " AcceptedRetries");
				OnClickGotoState = GameState.LoadLevel;
				
				BlockClickFor(0.5f);
			}
			else
			{
				ShowUIMenu(GameLoseMenu);
				OnClickGotoState = GameState.GameStart;
				
				BlockClickFor(0.5f);
			}
		}
		else if (CurrentState == GameState.GameEndWin)
		{
			ShowUIMenu(GameOverMenu);
			Invoke("ReplayFromStart", 10f);
		}
	}
Exemplo n.º 40
0
    void InitializeLevels(LevelManager levelManager)
    {
        //TODO: pull this from an external file
        LevelBase levelOne = new LevelBase();

        levelOne.LevelId                 = 1;
        levelOne.SceneName               = "level1";
        levelOne.spawnFrequency          = 2.0f;
        levelOne.spawnFrequencyDeviation = 1.0f;
        levelOne.WeightMax               = 2200f;
        levelOne.WeightGoal              = 1900f;
        levelOne.collectibles            = new List <CollectibleLevelInfo>();
        levelOne.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible       = 1,
            lifetime = 15f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible       = 1,
            lifetime = 10f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/IceCreamCone",
            oddsOfCollectible       = 1,
            lifetime = 10f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/Carrot",
            oddsOfCollectible       = 1,
            lifetime = 10f
        });
        levelOne.collectibleSpawnLeftRange  = new Vector3(-20, 15, -20);
        levelOne.collectibleSpawnRightRange = new Vector3(20, 15, 20);

        levelManager.AddLevel(levelOne.LevelId, levelOne);

        LevelBase levelTwo = new LevelBase();

        levelTwo.LevelId                 = 2;
        levelTwo.SceneName               = "level2";
        levelTwo.spawnFrequency          = 2.0f;
        levelTwo.spawnFrequencyDeviation = 1.0f;
        levelTwo.WeightMax               = 2000f;
        levelTwo.WeightGoal              = 1850f;
        levelTwo.collectibles            = new List <CollectibleLevelInfo>();
        levelTwo.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible       = 4,
            lifetime = 15f
        });
        levelTwo.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible       = 5,
            lifetime = 10f
        });
        levelTwo.collectibleSpawnLeftRange  = new Vector3(-25, 15, -25);
        levelTwo.collectibleSpawnRightRange = new Vector3(25, 15, 25);

        levelManager.AddLevel(levelTwo.LevelId, levelTwo);

        LevelBase levelThree = new LevelBase();

        levelThree.LevelId                 = 3;
        levelThree.SceneName               = "level3";
        levelThree.spawnFrequency          = 1.0f;
        levelThree.spawnFrequencyDeviation = 0.5f;
        levelThree.WeightMax               = 2200f;
        levelThree.WeightGoal              = 1800f;
        levelThree.collectibles            = new List <CollectibleLevelInfo>();
        levelThree.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible       = 5,
            lifetime = 5f
        });
        levelThree.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible       = 5,
            lifetime = 10f
        });
        levelThree.collectibleSpawnLeftRange  = new Vector3(-20, 15, -6);
        levelThree.collectibleSpawnRightRange = new Vector3(20, 15, 18);

        levelManager.AddLevel(levelThree.LevelId, levelThree);
    }
Exemplo n.º 41
0
 public void add_level(string ident, string name, string artists_count)
 {
     LevelBase tmp_lvl;
     tmp_lvl = new LevelBase();
     tmp_lvl.artists_count = artists_count;
     tmp_lvl.name = name;
     tmp_lvl.ident = ident;
     lvls.levels.Add(tmp_lvl);
     save_levels();
 }
Exemplo n.º 42
0
    void InitializeLevels(LevelManager levelManager)
    {
        //TODO: pull this from an external file
        LevelBase levelOne = new LevelBase();
        levelOne.LevelId = 1;
        levelOne.SceneName = "level1";
        levelOne.spawnFrequency = 2.0f;
        levelOne.spawnFrequencyDeviation = 1.0f;
        levelOne.WeightMax = 2200f;
        levelOne.WeightGoal = 1900f;
        levelOne.collectibles = new List<CollectibleLevelInfo>();
        levelOne.collectibles.Add(new CollectibleLevelInfo()
        {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible = 1,
            lifetime = 15f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible = 1,
            lifetime = 10f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/IceCreamCone",
            oddsOfCollectible = 1,
            lifetime = 10f
        });
        levelOne.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/Carrot",
            oddsOfCollectible = 1,
            lifetime = 10f
        });
        levelOne.collectibleSpawnLeftRange = new Vector3(-20,15,-20);
        levelOne.collectibleSpawnRightRange = new Vector3(20,15,20);

        levelManager.AddLevel(levelOne.LevelId, levelOne);

        LevelBase levelTwo = new LevelBase();
        levelTwo.LevelId = 2;
        levelTwo.SceneName = "level2";
        levelTwo.spawnFrequency = 2.0f;
        levelTwo.spawnFrequencyDeviation = 1.0f;
        levelTwo.WeightMax = 2000f;
        levelTwo.WeightGoal = 1850f;
        levelTwo.collectibles = new List<CollectibleLevelInfo>();
        levelTwo.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible = 4,
            lifetime = 15f
        });
        levelTwo.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible = 5,
            lifetime = 10f
        });
        levelTwo.collectibleSpawnLeftRange = new Vector3(-25,15,-25);
        levelTwo.collectibleSpawnRightRange = new Vector3(25,15,25);

        levelManager.AddLevel(levelTwo.LevelId, levelTwo);

        LevelBase levelThree = new LevelBase();
        levelThree.LevelId = 3;
        levelThree.SceneName = "level3";
        levelThree.spawnFrequency = 1.0f;
        levelThree.spawnFrequencyDeviation = 0.5f;
        levelThree.WeightMax = 2200f;
        levelThree.WeightGoal = 1800f;
        levelThree.collectibles = new List<CollectibleLevelInfo>();
        levelThree.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/DumbBell",
            oddsOfCollectible = 5,
            lifetime = 5f
        });
        levelThree.collectibles.Add(new CollectibleLevelInfo()
                                  {
            collectibleResourceName = "Prefabs/SodaCan",
            oddsOfCollectible = 5,
            lifetime = 10f
        });
        levelThree.collectibleSpawnLeftRange = new Vector3(-20,15,-6);
        levelThree.collectibleSpawnRightRange = new Vector3(20,15,18);

        levelManager.AddLevel(levelThree.LevelId, levelThree);
    }
Exemplo n.º 43
0
    static GameObject CreateMeshFromColl(LevelBase l, Transform t, LevelShape[] s)
    {
        GameObject partObj = new GameObject("Part");

        PolygonCollider2D[] colls = t.GetComponents<PolygonCollider2D>();

        Polygon polygon = null;
        List<EdgeCollider2D> collsToAdd = new List<EdgeCollider2D>();

        foreach (PolygonCollider2D c in colls)
        {
            if (c.enabled == false)
                continue;

            Vector2[] vecs = c.points;

            List<Vector2> edgeVecs = new List<Vector2>();
            edgeVecs.AddRange(vecs);
            edgeVecs.Add(vecs[0]);
            EdgeCollider2D e = partObj.AddComponent<EdgeCollider2D>();
            e.points = edgeVecs.ToArray();

            List<PolygonPoint> pts = new List<Poly2Tri.PolygonPoint>();
            for (int i = 0; i < vecs.Length; i++)
            {
                PolygonPoint pt = new Poly2Tri.PolygonPoint(vecs[i].x * l.factor, vecs[i].y * l.factor);
                pts.Add(pt);
            }

            if (polygon == null)
            {
                polygon = new Polygon(pts);
            }
            else
            {
                pts.Reverse();
                polygon.AddHole(new Polygon(pts));
            }

            c.enabled = false;
        }

        P2T.Triangulate(polygon);

        Mesh m = CreateMesh2(polygon.Points, polygon.Triangles);

        Vector3[] vertices = m.vertices;
        Color[] colors = new Color[vertices.Length];
        int j = 0;
        while (j < vertices.Length)
        {
            colors[j] = l.fillColor;
            j++;
        }
        m.colors = colors;

        MeshFilter mf = partObj.AddComponent<MeshFilter>();

        bool extrudeMesh = false;

        if (extrudeMesh)
        {
            Mesh extruded = new Mesh();
            Matrix4x4 m1 = Matrix4x4.TRS(new Vector3(0, 0, 0), Quaternion.identity, new Vector3(1, 1, 1));

            List<Matrix4x4> mxs = new List<Matrix4x4>();
            mxs.Add(m1);

            for (int i = 0; i < s.Length; i++)
            {
                Matrix4x4 m3 = Matrix4x4.TRS(s[i].exturePos, Quaternion.Euler(s[i].extrudeRotation.x, s[i].extrudeRotation.y, s[i].extrudeRotation.z), s[i].extrudeScale);
                mxs.Add(m3);
            }

            MeshExtrusion.ExtrudeMesh(m, extruded, mxs.ToArray(), false);

            mf.sharedMesh = extruded;
        }
        else
        {
            mf.sharedMesh = m;
        }

        MeshRenderer mr = partObj.AddComponent<MeshRenderer>();
        mr.material = l.hillMaterial;

        return partObj;
    }