Inheritance: MonoBehaviour
コード例 #1
0
ファイル: Route.cs プロジェクト: reproweb/CritterWorld
        public void Start()
        {
            if (route.Count == 0)
            {
                return;
            }
            TargetMover mover = new TargetMover();

            mover.SpriteMoved         += (e, evt) => SpriteMoved?.Invoke(this, new SpriteEventMoved(_sprite));
            mover.SpriteReachedTarget += (e, evt) =>
            {
                currentDestinationIndex++;
                if (currentDestinationIndex >= route.Count)
                {
                    mover.Speed = 0;
                    if (!Repeat)
                    {
                        Finished?.Invoke(this, new EventRouteFinished());
                        return;
                    }
                    else
                    {
                        currentDestinationIndex = 0;
                    }
                }
                mover.Target = route[currentDestinationIndex].Target;
                mover.Speed  = route[currentDestinationIndex].Speed;
            };
            currentDestinationIndex = 0;
            mover.Target            = route[currentDestinationIndex].Target;
            mover.Speed             = route[currentDestinationIndex].Speed;
            _sprite.Mover           = mover;
        }
コード例 #2
0
 void Start()
 {
     thisScript = this.gameObject.GetComponent<script_Bot>();
     botAI = (MineBotAI)this.gameObject.GetComponent("MineBotAI");
     View = (PhotonView)gameObject.GetComponent<PhotonView>();
     View.observed = thisScript;
     player = GameObject.FindGameObjectWithTag("Player");
     playerScript = player.gameObject.GetComponent<script_Player>();
     targetMover = player.gameObject.GetComponent<TargetMover>();
     distanceDrawn = false;
 }
コード例 #3
0
        // Launch this Critter.
        internal void Launch()
        {
            Reset();

            AttachNumberPlate();

            TargetMover spriteMover = new TargetMover();

            spriteMover.SpriteReachedTarget += (sender, spriteEvent) => Notify("REACHED_DESTINATION:" + spriteEvent.Sprite.Position.ToString());
            spriteMover.SpriteMoved         += MoveHandler;
            Mover = spriteMover;

            stopped = false;

            controllerThread = new Thread(() =>
            {
                controllerThreadRunning = true;
                while (controllerThreadRunning)
                {
                    controller.Responder = messageToBody => MessagesToBody.Enqueue(messageToBody);
                    controller.Logger    = logMessage => LogDebugging(logMessage);
                    while (MessagesFromBody.TryDequeue(out string messageFromBody))
                    {
                        try
                        {
                            controller.Receive(messageFromBody);
                        }
                        catch (Exception e)
                        {
                            Crashed(e);
                        }
                    }
                    Thread.Sleep(5);
                }
                // Clear message queues
                string ignore;
                while (MessagesFromBody.TryDequeue(out ignore))
                {
                    ;
                }
                while (MessagesToBody.TryDequeue(out ignore))
                {
                    ;
                }
            });
            controllerThread.IsBackground = true;
            controllerThread.Start();

            Log("launched");

            Notify("LAUNCH:" + Position.ToString());
        }
コード例 #4
0
    void Start()
    {
        thisScript = this.gameObject.GetComponent<script_Bot>();
        botAI = (MineBotAI)this.gameObject.GetComponent("MineBotAI");
        gameManager = GameObject.Find("prefab_2PGameManager(Clone)").gameObject.GetComponent<script_2PGameManager>();

        canAttack = true;
        canMove = true;

        if (player1Unit)
        {
            player = GameObject.Find("Player 1");
            ourPlayer = player;
        }
        else if (player2Unit)
        {
            player = GameObject.Find("Player 2");
            ourPlayer = player;
        }

        playerScript = player.gameObject.GetComponent<script_Player>();
        targetMover = player.gameObject.GetComponent<TargetMover>();
        distanceDrawn = false;
    }
コード例 #5
0
    //This method is used in the turn system to turn on and off all
    //of the components that the player will need now that it is his turn
    //First disables all of the other player's components
    public void EnablePlayer1()
    {
        #region Disable Player 2
        if (gmScript.turnNumber > 1)
        {
            childCam = player2Inst.transform.FindChild("Camera").gameObject;
            playerCam = childCam.gameObject.GetComponent<Camera>();
            unitCam = player2Inst.transform.FindChild("UnitCam").gameObject.GetComponent<Camera>();
            playerAudio = player2Inst.gameObject.GetComponent<AudioListener>();
            playerScript = player2Inst.gameObject.GetComponent<script_2PPlayer>();
            cam = player2Inst.gameObject.GetComponent<RtsCamera>();
            camKeys = player2Inst.gameObject.GetComponent<RtsCameraKeys>();
            camMouse = player2Inst.gameObject.GetComponent<RtsCameraMouse>();
            effectsUpdater = player2Inst.gameObject.GetComponent<RtsEffectsUpdater>();
            targetScript = player2Inst.gameObject.GetComponent<TargetMover>();
            playerView = player2Inst.gameObject.GetComponent<Camera>();

            playerScript.isMyTurn = false;
            camKeys.enabled = false;
            camMouse.enabled = false;
            cam.enabled = false;
            effectsUpdater.enabled = false;
            targetScript.enabled = false;
            playerCam.enabled = false;
            unitCam.enabled = false;
            playerAudio.enabled = false;
            playerView.enabled = false;

            playerScript.enabled = false;
        }
        #endregion

        #region Enabled Player 1
        if (mainCam != null)
        {
            mainCam = Camera.main;
            GameObject.Destroy(mainCam.gameObject);
        }
        childCam = player1Inst.transform.FindChild("Camera").gameObject;
        playerCam = childCam.gameObject.GetComponent<Camera>();
        unitCam = player1Inst.transform.FindChild("UnitCam").gameObject.GetComponent<Camera>();
        camKeys = player1Inst.gameObject.GetComponent<RtsCameraKeys>();
        camMouse = player1Inst.gameObject.GetComponent<RtsCameraMouse>();
        cam = player1Inst.gameObject.GetComponent<RtsCamera>();
        playerScript = player1Inst.gameObject.GetComponent<script_2PPlayer>();
        effectsUpdater = player1Inst.gameObject.GetComponent<RtsEffectsUpdater>();
        targetScript = player1Inst.gameObject.GetComponent<TargetMover>();
        playerAudio = player1Inst.gameObject.GetComponent<AudioListener>();
        playerView = player1Inst.gameObject.GetComponent<Camera>();

        playerAudio.enabled = true;
        camKeys.enabled = true;
        camMouse.enabled = true;
        cam.enabled = true;
        playerScript.enabled = true;
        effectsUpdater.enabled = true;
        targetScript.enabled = true;
        playerView.enabled = true;

        if (gmScript.turnNumber <= 2)
        {
            cam.MinBounds = playerMinCoords;
            cam.MaxBounds = playerMaxCoords;
            cam.LookAt = player1SpawnCoords;
        }

        playerCam.enabled = true;
        unitCam.enabled = true;
        playerScript.isMyTurn = true;
        playerScript.movesRemaining = 5;
        #endregion
    }