Ejemplo n.º 1
0
 public virtual void Activate(UseableObject[] objectsToActivate, TycoonEntity activator)
 {
     foreach(UseableObject obj in objectsToActivate)
     {
         activator.UseObject(obj);
     }
 }
Ejemplo n.º 2
0
    public void UseObject(UseableObject objectToUse)
    {
        if (mState == TycoonEntityStates.CLIMBING || mState == TycoonEntityStates.USING)
        {
            return;
        }

        if (objectToUse.Activate(this))
        {
            mCurrentUsingObject = objectToUse;
            mUseStartTime = Time.realtimeSinceStartup;
            EventManager.Instance.AddHandler<UseableObjectEvent>(UseableObjectEventHandler);
            SetState(TycoonEntityStates.USING);
        }
    }
Ejemplo n.º 3
0
 public void UseableObjectEventHandler(object sender, UseableObjectEvent evt)
 {
     if (evt.Sender == mCurrentUsingObject)
     {
         mCurrentUsingObject = null;
         SetState(TycoonEntityStates.IDLE);
         EventManager.Instance.RemoveHandler<UseableObjectEvent>(UseableObjectEventHandler);
     }
 }
Ejemplo n.º 4
0
 public UseableObjectEvent(TycoonEntity activator, UseableObject.UseableObjectStates objectState, object sender)
     : base(Vector3.zero, sender)
 {
     Activator = activator;
     ObjectState = objectState;
 }
 private void OnTriggerExit()
 {
     this.useableObject = null;
 }
 private void OnTriggerEnter(Collider other)
 {
     this.useableObject = other.gameObject.GetComponent <UseableObject>();
 }