Пример #1
0
    private void CheckIcon()
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, 10f, layer);

        if (hit)
        {
            DialogueTrigger dt = hit.collider.gameObject.GetComponent <DialogueTrigger>();
            if (dt && dt.enabled)
            {
                ChagueMouseIcon(0);
                return;
            }

            SleepEvent se = hit.collider.gameObject.GetComponent <SleepEvent>();
            if (se && se.active)
            {
                ChagueMouseIcon(1);
                return;
            }
            RepairEvent re = hit.collider.gameObject.GetComponent <RepairEvent>();
            if (re && re.active)
            {
                ChagueMouseIcon(2);
                return;
            }
        }
        else
        {
            ResetMouse();
        }
    }
 private static void AssertEvent(RepairEvent @event)
 {
     Assert.NotNull(@event);
     Assert.Equal(DateTime.Parse("2016-06-10T14:32:03Z"), @event.Timestamp);
     Assert.Equal(EventName, @event.Event);
     Assert.Equal(1100, @event.Cost);
     Assert.Equal("int_powerplant_size3_class5", @event.Item);
 }
Пример #3
0
 internal RepairEvent InvokeEvent(RepairEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         Repair?.Invoke(_api, arg);
     }
     return(arg);
 }
Пример #4
0
 public RepairStatus Heal(IDBase healer, float amount, out RepairEvent repair)
 {
     repair             = new RepairEvent();
     repair.doner       = healer;
     repair.receiver    = this;
     repair.givenAmount = amount;
     if (amount <= 0f)
     {
         repair.status     = RepairStatus.Failed;
         repair.usedAmount = 0f;
         return(RepairStatus.Failed);
     }
     if (this.dead)
     {
         repair.status     = RepairStatus.FailedUnreparable;
         repair.usedAmount = 0f;
     }
     else if (this._health == this._maxHealth)
     {
         repair.status     = RepairStatus.FailedFull;
         repair.usedAmount = 0f;
     }
     else if (this._health <= this._maxHealth - amount)
     {
         TakeDamage takeDamage = this;
         takeDamage._health = takeDamage._health + amount;
         repair.usedAmount  = repair.givenAmount;
         if (this._health != this._maxHealth)
         {
             repair.status = RepairStatus.Applied;
         }
         else
         {
             repair.status = RepairStatus.AppliedFull;
         }
     }
     else
     {
         this._health      = this._maxHealth;
         repair.usedAmount = this._maxHealth - this._health;
         repair.status     = RepairStatus.AppliedPartial;
     }
     if (this.sendMessageRepair)
     {
         base.SendMessage("OnRepair", repair, SendMessageOptions.DontRequireReceiver);
     }
     return(repair.status);
 }
Пример #5
0
    public void DisplayRepairMessage(RepairEvent ev)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("Warning\n");
        switch (ev.GetRepairType())
        {
        case RepairEvent.RepairEventType.Hatch:
            sb.Append("HATCH");
            break;

        case RepairEvent.RepairEventType.Pipe:
            sb.Append("PIPE");
            break;

        case RepairEvent.RepairEventType.Pump:
            sb.Append("PUMP");
            break;
        }
        sb.Append(" broke in the ");
        switch (ev.station.location)
        {
        case Room.Front:
            sb.Append("A");
            break;

        case Room.Middle:
            sb.Append("B");
            break;

        case Room.Back:
            sb.Append("C");
            break;
        }

        sb.Append(" room");

        if (NotificationManager.Instance)
        {
            NotificationManager.Instance.QueueNotificationMessage(sb.ToString());
        }

        Debug.Log(sb.ToString());
    }
Пример #6
0
 public RepairStatus Heal(IDBase healer, float amount, out RepairEvent repair)
 {
     repair = new RepairEvent();
     repair.doner = healer;
     repair.receiver = this;
     repair.givenAmount = amount;
     if (amount <= 0f)
     {
         repair.status = RepairStatus.Failed;
         repair.usedAmount = 0f;
         return RepairStatus.Failed;
     }
     if (this.dead)
     {
         repair.status = RepairStatus.FailedUnreparable;
         repair.usedAmount = 0f;
     }
     else if (this._health == this._maxHealth)
     {
         repair.status = RepairStatus.FailedFull;
         repair.usedAmount = 0f;
     }
     else if (this._health <= this._maxHealth - amount)
     {
         TakeDamage takeDamage = this;
         takeDamage._health = takeDamage._health + amount;
         repair.usedAmount = repair.givenAmount;
         if (this._health != this._maxHealth)
         {
             repair.status = RepairStatus.Applied;
         }
         else
         {
             repair.status = RepairStatus.AppliedFull;
         }
     }
     else
     {
         this._health = this._maxHealth;
         repair.usedAmount = this._maxHealth - this._health;
         repair.status = RepairStatus.AppliedPartial;
     }
     if (this.sendMessageRepair)
     {
         base.SendMessage("OnRepair", repair, SendMessageOptions.DontRequireReceiver);
     }
     return repair.status;
 }
Пример #7
0
 internal void InvokeRepairEvent(RepairEvent arg)
 {
     RepairEvent?.Invoke(this, arg);
 }
Пример #8
0
 internal void InvokeRepairEvent(RepairEvent arg) => RepairEvent?.Invoke(null, arg);