public static void Seed(LaneController lane)
        {
            lane.PlaceholderTowers.Add(new BaseTower(
                                           name: "Basic Tower",
                                           radius: 2,
                                           attackRatio: 2,
                                           damage: 20,
                                           controller: lane,
                                           tile: null));

            lane.PlaceholderTowers.Add(new BaseTower(
                                           name: "Fire Tower",
                                           radius: 2,
                                           attackRatio: 2,
                                           damage: 20,
                                           controller: lane,
                                           tile: null));

            lane.PlaceholderTowers.Add(new BaseTower(
                                           name: "Terra flower",
                                           radius: 2,
                                           attackRatio: 2,
                                           damage: 20,
                                           controller: lane,
                                           tile: null));

            lane.PlaceholderTowers.Add(new BaseTower(
                                           name: "Eramghurd tower",
                                           radius: 2,
                                           attackRatio: 2,
                                           damage: 20,
                                           controller: lane,
                                           tile: null));
        }
Example #2
0
 private void LaneThreatCheck()
 {
     //clear lists so that they can update properly
     threat.Clear();
     advantage.Clear();
     laneEven.Clear();
     //checks every time a decision must be made
     //also needs to know where it has the advantage
     for (int i = 0; i < playerLanes.Count; i++)
     {
         if (playerLanes[i].amount > ourLanes[i].amount)
         {
             threat.Add(playerLanes[i]);
             laneToIncrease = ourLanes[i];
             //get amount required to match
             changeAmount = playerLanes[i].amount - ourLanes[i].amount;
             //this lane is a threat
         }
         else if (playerLanes[i].amount < ourLanes[i].amount)
         {
             advantage.Add(playerLanes[i]);
             laneToDecrease = ourLanes[i];
             //at an advantage
         }
         else if (playerLanes[i].amount == ourLanes[i].amount)
         {
             laneEven.Add(playerLanes[i]);
             //lane is even
         }
     }
 }
Example #3
0
 public void ChangeLaneAmount(int amount, LaneController chosenLane, int uiIndex)
 {
     print(amount);
     amountLeft        -= amount;
     chosenLane.amount += amount;
     uiManager.SetUnitRemainText(amountLeft);
     uiManager.SetLaneText(chosenLane.amount, uiIndex);
 }
Example #4
0
 public BaseTower(string name, float radius, float attackRatio, float damage, LaneController controller, Tile tile)
 {
     Name           = name;
     Radius         = radius;
     AttackRatio    = attackRatio;
     Damage         = damage;
     LaneController = LaneController;
     Tile           = tile;
 }
Example #5
0
 // Start is called before the first frame update
 void Start()
 {
     timeToNextWave = waveTimer;
     enemiesLeft    = baseNumOfEnemies;
     LaneController = LaneControllerObject.GetComponent <LaneController>();
     Debug.Log("Wave 1 begin!");
     currentWave  = 1;
     waveIsActive = true;
 }
    // Use this for initialization
    void Start()
    {
        InitializeLeadIn();
        simpleMusicPlayer = simpleMusciPlayerTrans.GetComponent <SimpleMusicPlayer>();
        simpleMusicPlayer.LoadSong(kgy, 0, false);
        // 初始化所有音轨.
        for (int i = 0; i < noteLanes.Count; ++i)
        {
            noteLanes[i].Initialize(this);
        }

        // 初始化事件。
        playingKoreo = Koreographer.Instance.GetKoreographyAtIndex(0);

        // 获取Koreography中的所有事件。
        KoreographyTrackBase    rhythmTrack = playingKoreo.GetTrackByID(eventID); //获取事件轨迹
        List <KoreographyEvent> rawEvents   = rhythmTrack.GetAllEvents();         //获取所有事件

        //KoreographyEvent rawEvent = rhythmTrack.GetEventAtStartSample(2419200);
        //rawEvent.
        for (int i = 0; i < rawEvents.Count; ++i)
        {
            //KoreographyEvent  基础Koreography事件定义。 每个事件实例都可以携带一个
            //有效载荷 事件可以跨越一系列样本,也可以绑定到一个样本。 样品
            //值(开始/结束)在“采样时间”范围内,* NOT *绝对采样位置。
            //确保查询/比较在TIME而不是DATA空间中发生。
            KoreographyEvent evt = rawEvents[i];
            int noteID           = evt.GetIntValue();//获取每个事件对应的字符串

            // Find the right lane.  遍历所有音轨
            for (int j = 0; j < noteLanes.Count; ++j)
            {
                LaneController lane = noteLanes[j];
                if (noteID > 6)
                {
                    noteID = noteID - 6;
                    if (noteID > 6)
                    {
                        noteID = noteID - 6;
                    }
                }
                if (lane.DoesMatch(noteID))
                {
                    //事件对应的字符串与某个音轨对应字符串匹配,则把该事件添加到该音轨
                    // Add the object for input tracking.
                    lane.AddEventToLane(evt);

                    // Break out of the lane searching loop.
                    break;
                }
            }
        }
        //SampleRate采样率,在音频资源里有。
        //命中窗口宽度,采样率*0.001*命中时长
        hitWindowRangeInSamples = (int)(0.001f * hitWindowRangeInMS * SampleRate);
    }
Example #7
0
 public static void Seed(LaneController lane)
 {
     lane.PlaceholderUnits.Add(new Unit(null)
     {
         CurrentHealth  = 100,
         Id             = 0,
         MovementSpeed  = 0.1f,
         OriginalHealth = 100
     });
 }
Example #8
0
 private static void OnTick(EventArgs args)
 {
     ShopController.Tick();
     PhaseController.Tick();
     LaneController.Tick();
     GankController.Tick();
     TeleportController.Tick();
     MovementController.Tick();
     WardController.Tick();
     RecallController.Tick();
 }
    void ChangeLane()
    {
        LaneController newLane = GameManager.Instance.lanes[Random.Range(0, GameManager.Instance.lanes.Count)];

        while (newLane == lane)
        {
            newLane = GameManager.Instance.lanes[Random.Range(0, GameManager.Instance.lanes.Count)];
        }

        transform.DOMove(newLane.transform.position + new Vector3(20 - backwardDistance, transform.localScale.y / 2, 0), changingLaneDuration);
        lane = newLane;
    }
    void SpawnObject(GameObject prefab, LaneController lane)
    {
        GameObject newObject = Instantiate(prefab, lane.transform.position + new Vector3(20, prefab.transform.localScale.y / 2, 0), Quaternion.identity, GameManager.Instance.dynamicObjects);
        Enemy      enemy     = newObject.GetComponent <Enemy>();

        enemy.lane = lane;
        List <SpriteRenderer> renderers = enemy.renderers;
        int lineIndex = GameManager.Instance.lanes.IndexOf(lane);

        foreach (SpriteRenderer sprite in renderers)
        {
            sprite.sortingOrder = lineIndex;
        }
    }
Example #11
0
    //[System.Obsolete]
    /// <summary>
    /// All <see cref="PuppetModificationBase"/> game object are stored here!
    /// </summary>
    //public GameObject PuppetModificationGameObjectParent;


    private void Awake()
    {
        if (gameManager == null)
        {
            gameManager = this;
        }
        else
        {
            Destroy(gameObject);
        }
        if (levelManager == null)
        {
            LevelManager lm = GetComponent <LevelManager>();
            if (lm == null)
            {
                levelManager = gameObject.AddComponent <LevelManager>();
            }
            else
            {
                levelManager = lm;
            }
        }
        if (laneController == null)
        {
            LaneController lc = GetComponent <LaneController>();
            if (lc == null)
            {
                laneController = gameObject.AddComponent <LaneController>();
            }
            else
            {
                laneController = lc;
            }
        }
        if (audioManager == null)
        {
            AudioManager am = GameObject.Find("AudioManager").GetComponent <AudioManager>();
            if (am == null)
            {
                Debug.LogError("There is no game object named AudioManager containing a component AudioManager in the scene.");
            }
            else
            {
                audioManager = am;
            }
        }
        DontDestroyOnLoad(this);
    }
 private void MoveToLane(LaneController oldLane, LaneController newLane)
 {
     if (isMoving)
     {
         return;
     }
     isMoving = true;
     transform.DOMove(newLane.transform.position + new Vector3(0, transform.localScale.y / 2, 0), movementDuration).OnComplete(() => {
         isMoving = false;
     });
     oldLane.player            = null;
     newLane.player            = this;
     lane                      = newLane;
     topSprite.sortingOrder    = GameManager.Instance.lanes.IndexOf(newLane);
     bottomSprite.sortingOrder = GameManager.Instance.lanes.IndexOf(newLane);
 }
Example #13
0
    //初始化方法
    public void Initialize(KoreographyEvent evt, int noteNum, LaneController laneCont,
                           RhythmGameController gameCont, bool isLongStart, bool isLongEnd)
    {
        trackedEvent   = evt;
        laneController = laneCont;
        gameController = gameCont;
        isLongNote     = isLongStart;
        isLongNoteEnd  = isLongEnd;
        int spriteNum = noteNum;

        if (isLongNote)
        {
            spriteNum += 6;
        }
        else if (isLongNoteEnd)
        {
            spriteNum += 12;
        }
        visuals.sprite = noteSprites[spriteNum - 1];
    }
Example #14
0
    public void SwimmingFinished(float time, LaneController target, float result)
    {
        if (finishOverlays.Count == 0)
        {
            winner = target;
        }

        SwimmingCanvasOverlayController tmpOverlay = target.overlay.GetComponent <SwimmingCanvasOverlayController>();

        finishOverlays.Add(tmpOverlay);
        tmpOverlay.gameObject.SetActive(true);
        tmpOverlay.ShowGraphic(finishOverlays.IndexOf(tmpOverlay), target.swimmer.GetComponent <SwimmingSwimmer>().flag);

        if (target.swimmer.transform.CompareTag("Player"))
        {
            playerScore = result;
            Invoke(nameof(ShowResults), 3f);
        }

        CameraManager.Instance.SetLive(stateCam);
    }
    void Start()
    {
        InitializeLeadIn();
        for (int i = 0; i < noteLines.Count; i++)
        {
            noteLines[i].Initialize(this);//音轨初始化
        }
        //获取到koreography对象
        playingKoreo = Koreographer.Instance.GetKoreographyAtIndex(0);
        KoreographyTrack rhythmTrack = playingKoreo.GetTrackByID(eventID);
        //获取事件
        List <KoreographyEvent> rawEvents = rhythmTrack.GetAllEvents();

        for (int i = 0; i < rawEvents.Count; i++)
        {
            KoreographyEvent evt = rawEvents[i];
            int noteID           = evt.GetIntValue();
            //遍历所有音轨
            for (int j = 0; j < noteLines.Count; j++)
            {
                LaneController lane = noteLines[j];
                if (noteID > 6)
                {
                    noteID = noteID - 6;
                    if (noteID > 6)
                    {
                        noteID = noteID - 6;
                    }
                }
                if (lane.DoesMatch(noteID))
                {
                    lane.AddEventToLane(evt);
                    break;
                }
            }
        }
        hitWindowRangeInSamples = (int)(SampleRate * hitWindowRangeInMS * 0.0001f);
    }
Example #16
0
    // Use this for initialization
    void Start()
    {
        animationController = GetComponent <AnimationController>();
        thisPlayer          = GetComponent <Player> ();
        laneController      = FindObjectOfType <LaneController> ();
        socket = FindObjectOfType <SocketIOComponent> ();
        socket.On("initpos", laneController.MovePlayer);
        socket.On("posed", OnPosed);
        socket.On("hit", OnHit);

        if (!RemotePlayer)
        {
            //tell the server that the game has loaded
            JSONObject json = new JSONObject();
            json.AddField("lobbyid", thisPlayer.matchID);

            socket.Emit("gameloaded", json);
        }

        /*if (thisPlayer.playerID == 0)
         *      laneController.MovePlayer (thisPlayer.playerID, 0);
         * else if (thisPlayer.playerID == 1)
         *      laneController.MovePlayer (thisPlayer.playerID, 3);*/
    }
 // Use this for initialization
 void Start()
 {
     player         = ReInput.players.GetPlayer(id);
     laneController = Lane.GetComponent <LaneController>();
 }
Example #18
0
    // Use this for initialization
    void Start()
    {
        runnerController = runner.GetComponent<RunnerController>();

           leftController = leftLane.GetComponent<LaneController>() as LaneController;
           middleController = middleLane.GetComponent<LaneController>() as LaneController;
           rightController = rightLane.GetComponent<LaneController>() as LaneController;

           leftController.SetUpLane(leftLane.GetComponent<Renderer>().material.GetColor("_EmissionColor"), flashingColor, cycleTime);
           middleController.SetUpLane(middleLane.GetComponent<Renderer>().material.GetColor("_EmissionColor"), flashingColor, cycleTime);
           rightController.SetUpLane(rightLane.GetComponent<Renderer>().material.GetColor("_EmissionColor"), flashingColor, cycleTime);

           laneColor = leftLane.GetComponent<Renderer>().material.GetColor("_EmissionColor");

           runnerController.SetShotNoise(TheNoise());
    }
Example #19
0
 private void ChangeLaneAmount(int amount, LaneController chosenLane)
 {
     amountLeft        -= amount;
     chosenLane.amount += amount;
 }
 void Start()
 {
     laneController = LaneControllerObject.GetComponent <LaneController>();
 }
Example #21
0
 void checkLane(LaneController lane)
 {
     lane.CheckBox();
 }
Example #22
0
 private void ResetNote()
 {
     trackedEvent   = null;
     laneController = null;
     gameController = null;
 }
Example #23
0
 public void SetLaneController(LaneController LC, string channel)
 {
     this.LC = LC;
     this.channel = channel;
 }
 void Start()
 {
     sr             = GetComponent <SpriteRenderer>();
     laneController = LaneControllerObject.GetComponent <LaneController>();
 }
Example #25
0
 protected virtual void Finished(float time, LaneController controller)
 {
     StopAllCoroutines();
 }
 protected override void Finished(float time, LaneController controller)
 {
     SwimmingController.onFinish.Invoke(time, controller, SwimmerResultTime);
     base.Finished(time, controller);
 }
Example #27
0
 void Start()
 {
     lane = new LaneController();
 }