コード例 #1
0
    public override void Initialize(Transform[] objects)
    {
        // list because I don't know size here
        List <Filter> tmpFilters = new List <Filter>();
        int           index      = 0;

        for (int i = 0; i < objects.Length; i++)
        {
            // check performance
            InventoryComponent  invC = objects[i].GetComponent <InventoryComponent>();
            InputComponent      inpC = objects[i].GetComponent <InputComponent>();
            InteractorComponent intC = objects[i].GetComponent <InteractorComponent>();
            MovementComponent   movC = objects[i].GetComponent <MovementComponent>();

            if (invC && inpC && intC && movC)
            {
                tmpFilters.Add(new Filter(index, objects[i].gameObject, invC, inpC, intC, movC));
            }
        }

        filters = tmpFilters.ToArray();

        environmentComponent   = GetComponentInChildren <EnvironmentComponent>();
        transportableComponent = GetComponentInChildren <CartComponent>();
        cartInteractable       = transportableComponent.GetComponent <InteractableComponent>();
        lightComponent         = GetComponentInChildren <LightComponent>();
        //villagerComponent = GetComponentInChildren<VillagerComponent>();
        travelComponent  = GetComponentInChildren <TravelComponent>();
        treeComponents   = GetComponentsInChildren <CollectibleComponent>();
        goapSystem       = GetComponent <GOAPSystem>();
        navMeshComponent = playerGO.GetComponent <NavMeshComponent>();
    }
コード例 #2
0
        public void UpdateEnvironmentNode(EnvironmentComponent env, TreeNode scenarioNode)
        {
            // Check to see if node exists with given component. If not, create it with the appropriate form.
            TreeNode envNode = null;

            foreach (TreeNode node in scenarioNode.Nodes)
            {
                try
                {
                    if (((EnvironmentForm)node.Tag).Environment == env)
                    {
                        envNode = node;
                        break;
                    }
                }
                catch (InvalidCastException)
                {
                    // Ignore; we just happened to check a node that wasn't an environment node
                }
            }

            if (envNode == null)
            {
                // Create new node with appropiate form tag
                envNode = new TreeNode("Environment");
                EnvironmentForm newForm = new EnvironmentForm(env, this, envNode);
                envNode.Tag = newForm;
                scenarioNode.Nodes.Add(envNode);
            }
        }
コード例 #3
0
ファイル: EnemySystem.cs プロジェクト: Syfrex/Owlchemist
    public override void Initialize(Transform[] objects)
    {
        // list because I don't know size here
        List <Filter> tmpFilters = new List <Filter>();
        int           index      = 0;

        for (int i = 0; i < objects.Length; i++)
        {
            // check performance
            EnemyComponent  ec = objects[i].GetComponent <EnemyComponent>();
            CombatComponent cc = objects[i].GetComponent <CombatComponent>();
            HealthComponent hc = objects[i].GetComponent <HealthComponent>();

            if (cc && hc)
            {
                tmpFilters.Add(new Filter(index, objects[i].gameObject, ec, cc, hc));
            }
        }

        filters = tmpFilters.ToArray();

        environmentComponent   = GetComponentInChildren <EnvironmentComponent>();
        transportableComponent = GetComponentInChildren <CartComponent>();
        inputComponent         = GetComponentInChildren <InputComponent>();
    }
コード例 #4
0
 public EnvironmentForm(EnvironmentComponent targetEnvironment, Form parentWindow, TreeNode node)
 {
     // Creates a new form for a pre-existing environment
     Node        = node;
     Environment = targetEnvironment;
     InitializeComponent();
     Tag = targetEnvironment;
     RefreshValues();
     Text      = "Environment Settings";
     MdiParent = parentWindow;
 }
コード例 #5
0
 public EnvironmentForm(Form parentWindow, TreeNode node)
 {
     // Creates a new form for a new environment
     Node        = node;
     Environment = new EnvironmentComponent();
     InitializeComponent();
     Tag = Environment;
     RefreshValues();
     Text      = "Environment Settings";
     MdiParent = parentWindow;
 }
コード例 #6
0
 /**
  * Remove the given environment component from the record list
  */
 public static void RemoveComponent(EnvironmentComponent ec)
 {
     _instance._environmentComponents.Remove(ec);
 }
コード例 #7
0
 /**
  * Add the given environment component to the record list
  */
 public static void AddComponent(EnvironmentComponent i)
 {
     _instance._environmentComponents.Add(i);
 }