Example #1
0
        public MovingState(Vector3 destination, bool canMoveToLadder = true)
        {
            m_destination     = destination;
            m_canMoveToLadder = canMoveToLadder;

            m_scaffolding = LevelManager.Instance.Building.Scaffolding;
        }
Example #2
0
 // Use this for initialization
 void Start()
 {
     color               = gameObject.GetComponent <MeshRenderer> ().materials [0].color;
     boundaries          = GetComponents <BoxCollider> ();
     constructionChecker = 0;
     mr       = gameObject.GetComponent <MeshRenderer> ();
     scaffold = gameObject.GetComponentInChildren <Scaffolding> ();
 }
Example #3
0
    public virtual void OnScaffoldingComplete(Scaffolding scaffolding)
    {
        _builders.Remove(scaffolding);

        Destroy(scaffolding.gameObject);

        BuildNext();
    }
 protected override void CancelScaffolding(Scaffolding scaffolding)
 {
     if (Network.isServer)
     {
         NetworkServerCancelScaffolding(Network.player, scaffolding.networkView.viewID);
     }
     else
     {
         networkView.RPC("NetworkServerCancelScaffolding", RPCMode.Server, Network.player, scaffolding.networkView.viewID);
     }
 }
Example #5
0
        private void Climb()
        {
            Scaffolding scaffolding = LevelManager.Instance.Building.Scaffolding;

            Vector3 ladderEndPos = scaffolding.GetLadderDestinationPos(Artist.Transform.position.y, m_destination.y - Artist.NavMeshAgent.height);
            Vector3 destination  = ladderEndPos + Vector3.up * Artist.NavMeshAgent.baseOffset;

            Artist.Transform.DOMove(destination, 1f / Artist.NavMeshAgent.speed).SetEase(Ease.Linear).OnComplete(() =>
            {
                m_artistState = new MovingState(m_destination, false);
            });
        }
    public override void OnScaffoldingComplete(Scaffolding scaffolding)
    {
        scaffolding.gameObject.networkView.RPC("NetworkDestroy", RPCMode.All);

        destroyed.Add(scaffolding.networkView.viewID);

        _builders.Remove(scaffolding);

        BuildNext();

        if (buildCount <= 0)
        {
            ClearBuffer();
        }
    }
    void Update()
    {
        Vector2 inputPoint;

        if (Camera.main.GetComponent<CameraController>().cameraType == CameraType.FirstPerson)
            inputPoint = new Vector2(Screen.width/2, Screen.height/2);
        else
            inputPoint = Input.mousePosition;

        Ray ray = Camera.main.ScreenPointToRay(inputPoint);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, _scaffoldingLayer))
        {
            if (_selected)
                _selected.isHighlightedForDestroy = false;

            _selected = hit.collider.GetComponent<Scaffolding>();

            _selected.isHighlightedForDestroy = true;

            if (Input.GetMouseButtonDown(0))
            {
                CancelScaffolding(_selected);
                _selected = null;

            }
        }
        else
        {
            if (_selected)
                _selected.isHighlightedForDestroy = false;

            _selected = null;
        }
    }
Example #8
0
 public void TrackScaffolding(Scaffolding scaffolding)
 {
     scaffolding.owner = this;
     _builders.Add(scaffolding);
 }
Example #9
0
 void Awake()
 {
     instance = this;
 }
 protected virtual void CancelScaffolding(Scaffolding scaffolding)
 {
     scaffolding.OnComplete();
 }
Example #11
0
        static void Main(string[] args)
        {
            var generator = new Scaffolding();

            generator.Run(args);
        }