예제 #1
0
    public new void Start()
    {
        healthBar.resetFill();
        healthBar.setActive(true);
        base.healthBar = healthBar;

        base.Start();

        //Set up family Name
        if (familyName == "")
        {
            familyName = lastName;
        }
        else
        {
            lastName = familyName;
        }

        bag = new Bag(UIManager.instance.bagGUIObject.GetComponent <BagGUI>());

        itemsInRange = new ItemsInRange(this);

        //Singleton
        if (instance == null)
        {
            instance = this;
        }

        animator = GetComponentInChildren <Animator>();

        UIManager.instance.setAbilities(characterClass.abilities);
        UIManager.instance.resetXp(xpPerLevel);
    }
예제 #2
0
    public new void Start()
    {
        healthBar.resetFill();
        healthBar.setActive(true);
        base.healthBar = healthBar;

        base.Start();

        //Set up family Name
        if (familyName == "")
        {
            familyName = lastName;
        }
        else
        {
            lastName = familyName;
        }

        bag = new Bag(UIManager.instance.bagGUIObject.GetComponent <BagGUI>());

        itemsInRange = new ItemsInRange(this);

        //traits[0] = Trait.getTrait();
        //traits[0].applyTrait(this);

        //Singleton
        if (instance == null)
        {
            instance = this;
        }

        animator = GetComponentInChildren <Animator>();

        UIManager.instance.setAbilities(characterClass.abilities); //REmove when player is generated
    }
예제 #3
0
        private void CreateDays()
        {
            IList <DayViewModel> list = new List <DayViewModel>();
            var itemsInRange          = ItemsInRange.ToArray();

            for (var i = 0; i <= 6; i++)
            {
                list.Add(new DayViewModel(i, itemsInRange, RangeStartDate.AddDays(i)));
            }
            Days = list;
        }
예제 #4
0
        private void UpdateEntries()
        {
            var entries = new Collection <DayEntryViewModel>();

            foreach (var calendarEntry in ItemsInRange.OrderByDescending(d => d.Duration)
                     .ThenBy(item => item.StartTime))
            {
                entries.Add(new DayEntryViewModel(calendarEntry, RangeStartDate, 0, 1));
            }

            Entries = entries;
        }
예제 #5
0
        private void UpdateEntries()
        {
            var entries = ItemsInRange.OrderBy(item => item.StartTime)
                          .ThenByDescending(d => d.Duration)
                          .Select(ce => new DayEntryViewModel(ce, RangeStartDate, 1, 1))
                          .ToArray();

            var dayEntries = entries.Where(x => !x.Entry.IsAllDay)
                             .ToArray();


            for (var index = 0; index < dayEntries.Length; index++)
            {
                var item = dayEntries[index];
                var itemsStartingBefore = dayEntries.Take(index)
                                          .Where(e => e.Entry.StartTime <= item.Entry.StartTime && e.Entry.EndTime > item.Entry.StartTime)
                                          .ToArray();
                if (itemsStartingBefore.Any())
                {
                    var factor = itemsStartingBefore.Max(d => d.StackLevel);
                    if (factor > itemsStartingBefore.Count())
                    {
                        for (var i = 0; i < itemsStartingBefore.Length; i++)
                        {
                            if (i + 1 < itemsStartingBefore[i].StackLevel)
                            {
                                item.StackLevel = i + 1;
                                break;
                            }
                            item.Intersection = factor;
                        }
                    }
                    else
                    {
                        item.StackLevel   = factor + 1;
                        item.Intersection = item.StackLevel;
                        foreach (var dayEntry in itemsStartingBefore)
                        {
                            dayEntry.Intersection = item.StackLevel;
                        }
                    }
                }
                else
                {
                    item.StackLevel = 1;
                }
            }

            AllDayEntries = entries.Except(dayEntries)
                            .ToArray();
            Entries = dayEntries;
        }
        private void OnTriggerStay(Collider c)
        {
            var item = c.GetComponent <GravityItem>();

            if (item == null || ItemsInRange.Contains(item))
            {
                return;
            }

            ItemsInRange.Add(item);

            ++item.ActiveFieldCount;
            item.CurrentGravitySource.Add(this);
        }
        private void OnTriggerExit(Collider c)
        {
            var item = c.GetComponent <GravityItem>();

            if (item == null || !ItemsInRange.Contains(item))
            {
                return;
            }

            ItemsInRange.Remove(item);

            --item.ActiveFieldCount;
            if (item.CurrentGravitySource.Contains(this))
            {
                item.CurrentDistance = Mathf.Infinity;
                item.CurrentGravitySource.Remove(this);
            }
        }