Beispiel #1
0
 private void RegisterObjects()
 {
     //Register playerpos in matrix
     registerTile.UpdateTile(state.Position);
     //Registering objects being pulled in matrix
     if (pullRegister != null)
     {
         Vector3 pos = state.Position - (Vector3)playerSprites.currentDirection;
         pullRegister.UpdateTile(pos);
     }
 }
Beispiel #2
0
    void UpdateState(bool _aliveState)
    {
        MonoBehaviour[] scripts   = GetComponentsInChildren <MonoBehaviour>();
        Collider2D[]    colliders = GetComponentsInChildren <Collider2D>();
        Renderer[]      renderers = GetComponentsInChildren <Renderer>();
        for (int i = 0; i < scripts.Length; i++)
        {
            if (scripts[i].GetType().Name != networkId && scripts[i].GetType().Name != networkT &&
                scripts[i].GetType().Name != itemControl)
            {
                scripts[i].enabled = _aliveState;
            }
        }

        for (int i = 0; i < colliders.Length; i++)
        {
            colliders[i].enabled = _aliveState;
        }

        for (int i = 0; i < renderers.Length; i++)
        {
            renderers[i].enabled = _aliveState;
        }

        RegisterTile rT = GetComponent <RegisterTile>();

        if (rT != null)
        {
            gameObject.GetComponent <EditModeControl>().Snap();
            rT.UpdateTile(transform.position);
        }
    }
Beispiel #3
0
    IEnumerator WaitForLoad()
    {
        yield return(new WaitForSeconds(2f));

        if (currentPos != Vector3.zero)
        {
            if (registerTile == null)
            {
                registerTile = GetComponent <RegisterTile>();
            }
            transform.position = RoundedPos(currentPos);
            registerTile.UpdateTile();
        }

        if (pushing)
        {
            PushSync(serverPos);
        }
    }
Beispiel #4
0
    void UpdateState(bool _aliveState)
    {
        OnVisibilityChange(_aliveState);

        MonoBehaviour[] scripts   = GetComponentsInChildren <MonoBehaviour>(true);
        Collider2D[]    colliders = GetComponentsInChildren <Collider2D>();
        Renderer[]      renderers = GetComponentsInChildren <Renderer>(true);
        for (int i = 0; i < scripts.Length; i++)
        {
            if (scripts[i].GetType().Name != networkId && scripts[i].GetType().Name != networkT &&
                scripts[i].GetType().Name != objectBehaviour &&
                scripts[i].GetType().Name != regTile && scripts[i].GetType().Name
                != inputController && scripts[i].GetType().Name
                != playerSync)
            {
                scripts[i].enabled = _aliveState;
            }
        }

        for (int i = 0; i < colliders.Length; i++)
        {
            colliders[i].enabled = _aliveState;
        }

        for (int i = 0; i < renderers.Length; i++)
        {
            renderers[i].enabled = _aliveState;
        }

        if (registerTile != null)
        {
            if (_aliveState)
            {
                EditModeControl eC = gameObject.GetComponent <EditModeControl>();
                if (eC != null)
                {
                    eC.Snap();
                }

                registerTile.UpdateTile(transform.position);
            }
            else
            {
                registerTile.RemoveTile();
            }
        }
    }
Beispiel #5
0
        private void Synchronize()
        {
            if (isLocalPlayer && GameData.IsHeadlessServer)
            {
                return;
            }

            if (!playerMove.isGhost)
            {
                var state = isLocalPlayer ? predictedState : serverState;
                transform.position = Vector3.MoveTowards(transform.position, state.Position, playerMove.speed * Time.deltaTime);
                if (registerTile.savedPosition != state.Position)
                {
                    registerTile.UpdateTile(state.Position);
                }
            }
            else
            {
                var state = isLocalPlayer ? predictedState : serverState;
                playerScript.ghost.transform.position = Vector3.MoveTowards(playerScript.ghost.transform.position, state.Position, playerMove.speed * Time.deltaTime);
            }
        }
 private void UpdateNorth(bool val)
 {
     restrictNorth            = val;
     restrictMoveStruct.north = restrictNorth;
     registerTile.UpdateTile();
 }
Beispiel #7
0
 public void OnPushed(Vector3 newPos)
 {
     targetPos = newPos;
     registerTile.UpdateTile(newPos);
 }