Example #1
0
    public void DoEvent(UnitAITrigger _trigger, int _index, Collider _col = null)
    {
        curAI = _trigger.CurAi;
        if (!equip)
        {
            equip = curAI.GetComponent <UnitEquip>();
        }
        index    = _index;
        finished = false;

        if (_col)
        {
            curTarget = _col;
        }

        if (startType == StartType.Instant)
        {
            StartEvent();
        }
        else if (startType == StartType.WaitForPreviousToFinish && index > 0)
        {
            if (waitRoutine != null)
            {
                curAI.StopCoroutine(waitRoutine);
            }

            waitRoutine = curAI.StartCoroutine(StartWaitForPrevious(_trigger));
        }
    }
Example #2
0
    public void ActivateTriggerDetection(UnitAI _sender, bool _activate)
    {
        CurAi       = _sender;
        equip       = CurAi.GetComponent <UnitEquip>();
        unit        = CurAi.GetComponent <Unit>();
        senderTrans = _sender.transform;

        switch (triggerType)
        {
        case TriggerType.OnEnter:
            DoEnterDetection(_activate);
            break;

        case TriggerType.OnExit:
            DoExitDetection(_activate);
            break;

        case TriggerType.OnStay:
            DoStayDetection(_activate);
            break;

        case TriggerType.ValueAmount:
            DoValueAmountDetection(_activate);
            break;
        }
    }
Example #3
0
 protected virtual void GetComponents()
 {
     controller = GetComponent <UnitController>();
     equip      = GetComponent <UnitEquip>();
     anim       = GetComponent <UnitAnimations>();
     rb         = GetComponent <Rigidbody2D>();
     col        = GetComponent <Collider2D>();
 }
Example #4
0
    public virtual void GetProperties()
    {
        detectZones    = sourceRef.FindProperty("detectZones");
        unitAIEvents   = sourceRef.FindProperty("unitAIEvents");
        unitAITriggers = unitAIEvents.FindPropertyRelative("unitAITriggers");

        equipSource = source.GetComponent <UnitEquip>();
    }
Example #5
0
 protected virtual void GetComponents()
 {
     //get comps
     unit  = GetComponent <Unit>();
     rb    = GetComponent <Rigidbody>();
     cc    = GetComponent <CharacterController>();
     equip = GetComponent <UnitEquip>();
     agent = GetComponent <NavMeshAgent>();
     anim  = GetComponent <UnitAnimations>();
 }
Example #6
0
 protected override void GetComponents()
 {
     base.GetComponents();
     controller = GetComponent <UnitController>();
     agent      = GetComponent <NavMeshAgent>();
     equip      = GetComponent <UnitEquip>();
     anim       = GetComponent <UnitAnimations>();
     rb         = GetComponent <Rigidbody2D>();
     col        = GetComponent <Collider2D>();
 }
Example #7
0
 public override void DoFX(GameObject _sender = null, GameObject _receiver = null)
 {
     equip = _receiver.GetComponent <UnitEquip>();
     if (needPrerequisiteItem)
     {
         if (equip.CurItem.Data != prerequisiteItem)
         {
             Debug.Log("Invalid skin prerequisite!");
             return;
         }
     }
     equip.CurItem.AddAmount(amountDelta);
 }
Example #8
0
    protected override void GetProperties()
    {
        base.GetProperties();
        //skins
        data = sourceRef.FindProperty("data");
        childSkinOverride = sourceRef.FindProperty("childSkinOverride");
        skinOptions       = sourceRef.FindProperty("skinOptions");
        spawnSkinOverride = sourceRef.FindProperty("spawnSkinOverride");
        spawnLocationData = sourceRef.FindProperty("spawnLocationData");
        spawnLocations    = sourceRef.FindProperty("spawnLocations");


        equip = source.GetComponent <UnitEquip>();
    }
    protected override void GetProperties(SerializedProperty _property)
    {
        base.GetProperties(_property);

        boldStyle = new GUIStyle
        {
            fontStyle = FontStyle.Bold,
        };

        //get property values
        unitAITriggers = _property.FindPropertyRelative("unitAITriggers");
        source         = fieldInfo.GetValue(_property.serializedObject.targetObject) as UnitAITriggerContainer;
        triggerSource  = source.unitAITriggers;
        aiSource       = _property.serializedObject.targetObject as UnitAI;
        equipSource    = aiSource.GetComponent <UnitEquip>();
    }
Example #10
0
    public override void DoFX(GameObject _sender = null, GameObject _receiver = null)
    {
        equip = _receiver.GetComponent <UnitEquip>();
        if (!equip)
        {
            return;
        }

        var ammo = ammoToPickUp;

        if (!setAmmo)
        {
            ammo = equip.CurItem.AmmoAmountLocal.data;
        }
        equip.CurItem.PickUpAmmo(ammo);
    }
Example #11
0
    protected virtual void OnOwnerFound()
    {
        ownerEquip = curUnitOwner.GetComponent <UnitEquip>();
        ownerAnim  = curUnitOwner.GetComponent <UnitAnimations>();
        inputType  = ownerEquip.InputOption;

        var locInd       = Data.defaultSpawnLocation.indexValue;
        var spawnLocName = curUnitOwner.SpawnLocations[locInd].stringValue;
        var spawnLoc     = curUnitOwner.transform.FindDeepChild(spawnLocName);

        //set position of item
        transform.SetParent(spawnLoc);
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.identity;

        //spawn UI here instead of start
        SpawnUI();
    }
Example #12
0
    protected override void AffectObject()
    {
        equip = affectedGameObject.GetComponent <UnitEquip>();
        if (!equip)
        {
            return;
        }

        var ammo   = ammoToPickUp;
        var finite = equip.CurItem as ItemFinite;

        if (finite)
        {
            if (!setAmmo)
            {
                ammo = finite.LoadedAmmo.AmmoValue.Data;
            }
            finite.LoadedAmmo.AmmoValue.ValueDelta(ammo.Value);
        }
    }
Example #13
0
 protected override void DoFX(GameObject _sender = null, GameObject _receiver = null)
 {
     equip = _receiver.GetComponent <UnitEquip>();
     if (needPrerequisiteItem)
     {
         if (equip.CurItem.Data != prerequisiteItem)
         {
             Debug.Log("Invalid skin prerequisite!");
             return;
         }
     }
     if (equip.CurUseable != null)
     {
         var finite = equip.CurUseable as ItemFinite;
         if (finite)
         {
             finite.LoadedAmmo.AmmoValue.ValueDelta(amountDelta);
         }
     }
 }
Example #14
0
 public virtual void GetComponents()
 {
     //get comps
     rb    = GetComponent <Rigidbody2D>();
     equip = GetComponent <UnitEquip>();
 }
Example #15
0
 public override void GetComponents()
 {
     base.GetComponents();
     enc   = (EnemyController)controller;
     equip = GetComponent <UnitEquip>();
 }
Example #16
0
 private void Start()
 {
     enc   = GetComponent <EnemyController>();
     equip = GetComponent <UnitEquip>();
 }