Ejemplo n.º 1
0
    void Start()
    {
        var board        = ReadBoard(level);
        var rowNumber    = board.Count;
        var columnNumber = board[0].Count;

        Debug.Log("row: " + rowNumber + ", " + "column: " + columnNumber);

        positionX = (rowNumber * 2) + offsetPosition;
        positionZ = columnNumber;
        positionY = columnNumber;

        minY = positionY - (positionY * offsetScroll);
        maxY = positionY + (positionY * offsetScroll);

        m_MainCamera            = Camera.main;
        m_MainCamera.enabled    = true;
        m_MainCamera.clearFlags = CameraClearFlags.SolidColor;
        ColorUtility.TryParseHtmlString(backgroundColor, out color);
        m_MainCamera.backgroundColor    = color;
        m_MainCamera.fieldOfView        = fieldOfView;
        m_MainCamera.transform.rotation = Quaternion.Euler(rotationX, rotationY, rotationZ);
        m_MainCamera.transform.position = new Vector3(positionX, positionY, positionZ);

        myInputController = new KeyboardInput();
        isZoomed          = false;

        originalPosition = new Vector3(positionX, positionY, positionZ);
    }
Ejemplo n.º 2
0
 public void Copy(BaseInputController c)
 {
     myCamera              = c.myCamera;
     camHandle             = c.camHandle;
     mouseLookMode         = c.mouseLookMode;
     cameraDistance        = c.cameraDistance;
     horizontalSensitivity = c.horizontalSensitivity;
     verticalSensitivity   = c.verticalSensitivity;
     cameraWontClip        = c.cameraWontClip;
 }
Ejemplo n.º 3
0
    public virtual void Init()
    {
        myTransform = transform;
        myGO        = gameObject;
        myBody2d    = GetComponent <Rigidbody2D>();

        inputController = myGO.AddComponent <KeyboardInput>();

        didInit = true;

        // Delete This later
        gameStarted = true;
    }
        protected virtual void OnEnable()
        {
            controller = GetComponent <BaseInputController>();

            if (controller is TwoButtons.TwoButtonInputController twoButtonControls)
            {
                twoButtonControls.primary.InputEvent   += TBPrimary_InputEvent;
                twoButtonControls.secondary.InputEvent += TBSecondary_InputEvent;
                //Debug.Log("Registerd two button handlers");
            }

            //Debug.Log("Finished attaching handles");
        }
    void Start()
    {
        inputController = FindObjectOfType <BaseInputController>();
        handController  = FindObjectOfType <HandController>();

        fingerJointCount = handController.GetFingerJointCount();

        lowerBounds = new int[fingerJointCount];
        highBounds  = new int[fingerJointCount];

        openHandPanel.SetActive(false);
        closedHandPanel.SetActive(false);

        Hide();
    }
Ejemplo n.º 6
0
    protected virtual void Awake()
    {
        _input            = CreateInputController();
        _timeController   = new TimeController();
        _entityController = CreateEntityController();
        _mapController    = CreateMapController();
        _monsterCreator   = new MonsterCreator();
        _eventLogger      = CreateGameLogger();

        _result  = GameResult.None;
        _loading = false;

        InitPlayStates();
        InitPlayStateData();

        ExtendedInit();
    }
Ejemplo n.º 7
0
 public void Control(MovingEntityBase me)
 {
     // un-control previous
     if (controlling != null)
     {
         controlling.transform.tag = "Untagged";
         inputController.Release(controlling);
     }
     // take control of current
     controlling = me;
     if (controlling.transform.tag == "Untagged" || controlling.transform.tag.Length == 0)
     {
         controlling.transform.tag = "Player";
     }
     if (controlling is MovingEntity)
     {
         if (!(inputController is GroundedInputController))
         {
             if (inputController != null)
             {
                 inputController = new GroundedInputController(inputController);
             }
             else
             {
                 inputController = new GroundedInputController();
             }
         }
     }
     else
     {
         if (inputController == null)
         {
             inputController = new BaseInputController();
         }
     }
     inputController.Start(controlling);
 }
Ejemplo n.º 8
0
    public int Update(PlayStateContext contextData, out bool timeWillPass)
    {
        if (Input.GetKeyDown(KeyCode.F4))
        {
            SceneManager.LoadScene(0);
        }
        PlayerActionStateContext actionData       = contextData as PlayerActionStateContext;
        BaseInputController      input            = actionData.Input;
        IMapController           map              = actionData.Map;
        IEntityController        entityController = actionData.EntityController;
        Player player = entityController.Player;

        int nextPlayState = GameController.PlayStates.Action;

        timeWillPass = false;

        if (input.IdleTurn)
        {
            timeWillPass = true;
            actionData.Events.Player.SendIdleTurn();
            return(GameController.PlayStates.Action);
        }

        if (input.RangeStart && player.BattleTrait.RangedAttack)
        {
            timeWillPass = false;
            return(GameController.PlayStates.RangePrepare);
        }

        Vector2Int playerCoords = map.CoordsFromWorld(player.transform.position);


        // GAME SPECIFIC
        if (HandleExtendedActions(actionData, out timeWillPass, out nextPlayState))
        {
            return(nextPlayState);
        }

        Vector2Int offset = map.CalculateMoveOffset(input.MoveDir, playerCoords);

        if (offset != Vector2Int.zero)
        {
            var newPlayerCoords = playerCoords + offset;

            if (!player.ValidMapCoords(newPlayerCoords))
            {
                timeWillPass = actionData.BumpingWallsWillSpendTurn;
            }
            else
            {
                timeWillPass = true;

                // Check interactions
                bool canMove = true;

                // Blockers:
                var blocker = FindBlockingEntityAt(entityController, newPlayerCoords);
                if (blocker != null)
                {
                    if (blocker.BlockingTrait.TryUnlock(player))
                    {
                        player.Coords = newPlayerCoords;
                    }
                    return(nextPlayState);
                }

                bool exit = HandleAdditionalMoveInteractions(actionData, newPlayerCoords, ref nextPlayState, ref canMove);
                if (exit)
                {
                    if (canMove)
                    {
                        player.Coords = newPlayerCoords;
                    }
                    return(nextPlayState);
                }

                if (player.SeesHostilesAtCoords(newPlayerCoords))
                {
                    bool allDefeated = player.AttackCoords(newPlayerCoords);
                    canMove = allDefeated;
                }

                if (canMove)
                {
                    player.Coords = newPlayerCoords;
                }
            }
        }

        // Quick Inventory actions:
        int inventoryIdx = System.Array.FindIndex(input.NumbersPressed, x => x);

        if (inventoryIdx != -1)
        {
            bool dropModifier = input.ShiftPressed;
        }

        return(GameController.PlayStates.Action);
    }
Ejemplo n.º 9
0
 public GroundedInputController(BaseInputController cameraControl)
 {
     base.Copy(cameraControl);
     this.controls.zoomInAndOut = cameraControl.controls.zoomInAndOut;
 }