Exemplo n.º 1
0
    //************************//
    //    Public Functions    //
    //************************//

    public void InitializeArea(GameObject _player, SpawnPointData _spawnPoint)
    {
        SpawnPoint spawnPoint = m_spawnPoints.Find(x => x.spawnPointData == _spawnPoint);

        if (spawnPoint)
        {
            GameState gameState = GameManager.Instance.state;
            AreaState areaState = gameState.GetAreaState(m_area);
            if (areaState == null)
            {
                gameState.areaStates.Add(m_state);
            }
            else
            {
                m_state = areaState;
            }

            InitializeNormalKeys();
            InitializeLevers();

            _player.transform.position = spawnPoint.transform.position;
            CinemachineVirtualCamera cam = Instantiate(m_playerFollowCamera, _player.transform.position, Quaternion.identity).GetComponent <CinemachineVirtualCamera>();
            cam.Follow = _player.transform;
            cam.GetComponent <CinemachineConfiner>().m_BoundingShape2D = m_areaCameraBounds;
        }
        else
        {
            Debug.LogErrorFormat("{0}: Could not find spawn point {1}!", name, _spawnPoint.name);
        }
    }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AreaActor"/> class.
        /// </summary>
        /// <param name="shardRegionResolver">Shard region resolver.</param>
        public AreaActor(IShardRegionResolver shardRegionResolver)
        {
            if (shardRegionResolver == null)
            {
                throw new ArgumentNullException(nameof(shardRegionResolver));
            }

            ulong areaId = this.ExtractObjectId();

            this.state             = new AreaState(areaId);
            this.shardRegionObject = shardRegionResolver.GetShardRegion(ShardRegions.OBJECTREGION);
        }
Exemplo n.º 3
0
    public void SetManorRegionAreaState(AreaState areaState, long workTimeStamp = 0)
    {
        this.areaState = areaState;
        if (Root2dSceneManager._instance.isFriendManor)
        {
            switch (areaState)
            {
            case AreaState.NoUnlock:
            case AreaState.Conversation:
            case AreaState.Pay:
            case AreaState.RoadWork:
            case AreaState.WorkShed:
                SetFriendLockState();
                break;

            case AreaState.RemoveWorkShed:
                SetFriendUnLockState();
                break;
            }
        }
        else
        {
            isSelfRegionUnLock = false;
            switch (areaState)
            {
            case AreaState.NoUnlock:
                SetSelfLockState();
                break;

            case AreaState.Conversation:
                SetSelfDialogState();
                break;

            case AreaState.Pay:
                SetSelfPayState();
                break;

            case AreaState.RoadWork:
                SetSelfRoadWorkState(workTimeStamp);
                break;

            case AreaState.WorkShed:
                SetSelfWorkShedState();
                break;

            case AreaState.RemoveWorkShed:
                isSelfRegionUnLock = true;
                SetSelfRemoveWorkShedState();
                break;
            }
        }
    }
Exemplo n.º 4
0
    public GameObject ZoneModelObjectForState(AreaState state)
    {
        GameObject obj           = Instantiate(state == AreaState.Controlled ? basicZoneModel : zonePlaceModel);
        var        randomScale   = Random.Range(0.8f, 1.2f);
        var        rotationAngle = Random.Range(0f, 360f);

        obj.transform.localScale = new Vector3(randomScale, randomScale, randomScale);
        obj.transform.rotation   = Quaternion.Euler(270.0f, 0, 0) * Quaternion.Euler(0.0f, rotationAngle, 0.0f);
        obj.transform.SetParent(map.mapZonesObject.transform, false);
        obj.AddComponent <ZoneSelect>();
        obj.SetActive(state != AreaState.Locked);
        return(obj);
    }
Exemplo n.º 5
0
        /// <summary>
        /// Recovery handler that receives persistent events during recovery.
        /// </summary>
        /// <param name="message">Message offered.</param>
        /// <returns>true if message is handled.</returns>
        protected override bool ReceiveRecover(object message)
        {
            if (message is SnapshotOffer offeredSnapshot)
            {
                this.state = (AreaState)offeredSnapshot.Snapshot;
            }
            else if (message is RecoveryCompleted)
            {
                this.log.Debug($"{this.Self.Path} recovery completed");
            }
            else if (message is IInternalCommand)
            {
                this.UpdateState((IInternalCommand)message);
            }

            return(true);
        }
Exemplo n.º 6
0
        public void ChangeAreaState(AreaState state)
        {
            switch (state)
            {
            case AreaState.Default:
                SetCoverColor(new Color(0, 0, 0, 0));
                break;

            case AreaState.Selectable:
                SetCoverColor(moveColor.SetAlpha(0.3f));
                break;

            case AreaState.Selecting:
                SetCoverColor(moveColor.SetAlpha(0.7f));
                break;

            default:
                break;
            }
        }
Exemplo n.º 7
0
    public void SetState(AreaState state)
    {
        switch (state)
        {
        case AreaState.Healthy:
            this._statePic.spriteName = "Select_server_bar_green";
            break;

        case AreaState.Crowded:
            this._statePic.spriteName = "Select_server_bar_orange";
            break;

        case AreaState.Full:
            this._statePic.spriteName = "Select_server_bar_red";
            break;

        default:
            this._statePic.spriteName = "Select_server_bar_gray";
            break;
        }
    }
Exemplo n.º 8
0
        void CurrentArea_OnNavigationEven(AreaState state, BaseArea area)
        {
            switch (state)
            {
            case AreaState.startOpen:

                break;

            case AreaState.endOpen:

                break;

            case AreaState.startClose:

                break;

            case AreaState.endClose:

                CurrentArea.OnNavigationEven -= CurrentArea_OnNavigationEven;
                Destroy(CurrentArea.gameObject);

                CurrentArea = null;

                if (nextAreas.Count > 0)
                {
                    NavigationObject next = nextAreas[0];
                    nextAreas.RemoveAt(0);
                    Open(next);
                }
                break;
            }

            if (OnNavigationEvent != null)
            {
                OnNavigationEvent(state, area);
            }
        }
Exemplo n.º 9
0
 public void SwitchAreaState(AreaState state)
 {
     currentAreaState = state;
     UIManager.Instance.SendMessageToWnd(UIPath.WindowPath.MainMenu_Page, new UIMessage(UIMsgType.GameAreaStateChange));
 }
Exemplo n.º 10
0
 public void OnlySetAreaState(AreaState areaState)
 {
     this.areaState = areaState;
 }
Exemplo n.º 11
0
        private IEnumerator DelayChange(AreaState state, float time)
        {
            yield return(new WaitForSeconds(time));

            ChangeAreaState(state);
        }
Exemplo n.º 12
0
    //*******************************//
    //    MonoBehaviour Functions    //
    //*******************************//

    private void Awake()
    {
        m_state       = new AreaState(m_area.id, m_normalKeys, m_levers);
        m_spawnPoints = new List <SpawnPoint>(FindObjectsOfType <SpawnPoint>());
    }
Exemplo n.º 13
0
 public void SetState(AreaState state, bool value, EffectType type)
 {
     SetState((int)state, (byte)(value ? 1 : 0), true, type);
 }
Exemplo n.º 14
0
 public bool HasState(AreaState state)
 {
     return(HasState((int)state, 1));
 }
Exemplo n.º 15
0
 public bool HasState(AreaState state, bool value)
 {
     return(HasState((int)state, (byte)(value ? 1 : 0)));
 }