コード例 #1
0
 public void Id(int i)
 {
     if (allItems[i] != null)
     {
         Stealable steal = allItems[i].GetComponent <Stealable>();
         steal.itemId = i;
     }
 }
コード例 #2
0
    private void Update()
    {
        foreach (Stealable stealable in m_stealables)
        {
            if (stealable.m_timeSinceStartedStealing > 0f)
            {
                m_objectBeingStolen = stealable;
            }
        }

        if (m_objectBeingStolen)
        {
            m_bar.fillAmount = m_objectBeingStolen.m_timeSinceStartedStealing / m_objectBeingStolen.m_timeToSteal;
        }
        else
        {
            m_bar.fillAmount = 0f;
        }
    }
コード例 #3
0
 public Card()
 {
     this.Zone = new Zone("Outside of the game");
     this.Zone.Add(this);
     this.Stealable = Type.Stealable;
 }
コード例 #4
0
    public void CompleteRPC(bool isManual)
    {
        isCompleted = true;
        isAssigned  = false;
        isUndone    = false;
        PlayableCharacter me = NetworkManager.instance.GetMe();

        if (PhotonNetwork.IsMasterClient)
        {
            taskManager.CheckAllTasksCompleted();
        }

        //Enable & Disable relevant targets
        DisableUndoneMarker();
        DisableTaskMarker();
        if (isUndoable && me is Traitor)
        {
            EnableTaskMarker();
        }

        foreach (Task requirement in requirements)
        {
            requirement.TaskInteractable.OnParentTaskComplete(me);
        }
        // When you complete a task if you are a loyal you want a new one
        if (!isManual)
        {
            if (me is Loyal && (me.assignedSubTask == null || me.assignedSubTask.isCompleted))
            {
                if (me.assignedMasterTask == null || me.assignedMasterTask.isCompleted)
                {
                    taskManager.RequestNewTask();
                }
                else
                {
                    me.assignedMasterTask.AssignSubTaskToCharacter(me);
                }
            }
        }
        else
        {
            foreach (Task requirement in requirements)
            {
                requirement.CompleteRPC(true);
            }
            if (TaskInteractable is Stealable)
            {
                View.TransferOwnership(PhotonNetwork.LocalPlayer);
                Stealable stealable = ((Stealable)TaskInteractable);
                // When manually complete a stealable you dont want to also register
                // the collision with the endzone (and recomplete). Therefore we
                // disable the next collision.
                stealable.ignoreNextCollision = true;
                // Move stealable to endzone inorder to complete
                TaskInteractable.transform.position = stealable.destination.transform.position;
            }
            if (PhotonNetwork.IsMasterClient)
            {
                TaskInteractable.PlayItemAnimation();
            }
        }
    }