public void GenerateNewbies( MemberScript recruiter )
	{
		int absMaxRecruits = StatManager.MemberMax - StatManager.MemberCount;

		int recruits = Random.Range( 0, Mathf.CeilToInt( recruiter.Devotion / 25.0f ) ); // Up to 3 for max devotion
		recruits = Mathf.Min( recruits, absMaxRecruits );

		for( int i = 0; i < recruits; i++ )
		{
			GameObject recruit = Instantiate( memberPrefab );
			recruit.transform.parent = unassignedMemberArea;
			recruit.transform.position = unassignedMemberArea.position - new Vector3( 0.2f * i, 0, 0 );

			MemberScript ms = recruit.GetComponent<MemberScript>();
			bool startSkept = Random.Range( 0, recruiter.Devotion ) < 10 ? true : false;
			ms.Init( Random.Range( 10.0f, recruiter.Devotion ), Random.Range( 25.0f, 100.0f ), startSkept );
			StatManager.MemberCount++;
		}

		recruiter.transform.position = unassignedMemberArea.position + new Vector3( 0.4f, 0, 0 );

		List<string> notification = new List<string>();
		string text = "Your follower returned with " + recruits + " new recruit" + ( ( recruits != 1 ) ? "s" : "" );
		notification.Add( text );
		m_mainMngr.UI_Mngr.SpawnTextBlurb( notification );
	}
Beispiel #2
0
    void Awake()
    {
        GameObject Manager = GameObject.Find("MManager");

        KnowScript = Manager.GetComponent <MemberScript>();
        Array      = (string[])KnowScript.GetType().GetField(ArrayName).GetValue(KnowScript);
        bool Can = false;

        foreach (string A in Array)
        {
            if (A != ".")
            {
                Can = true;
            }
        }
        if (Can == false)
        {
            GameObject.Destroy(GameObject.Find(this.name));
        }
    }
Beispiel #3
0
	public void AssignMember( MemberScript memberToAssign )
	{
		if( m_assignedMembers.Count < maxMembers )
		{
			m_assignedMembers.Add( memberToAssign );

			for( int i = 0; i < memberSlots.Length; i++ )
			{
				if( memberSlots[ i ].childCount == 0 )
				{
					memberToAssign.transform.parent = memberSlots[ i ];
					memberToAssign.transform.position = memberSlots[ i ].position;
					break;
				}
			}
		}
	}
Beispiel #4
0
	public void RemoveMember( MemberScript memberToRemove )
	{
		m_assignedMembers.Remove( memberToRemove );
	}
	public void DisplayPanel(MemberScript p_SelectedMember)
	{
		selectedMember = p_SelectedMember;
		UpdatePosition();
		gameObject.SetActive(true);
	}
	private void DeselectMember()
	{
		m_selectedMember.SetDeselected();
		m_selectedMember = null;

		hightlight.parent = null;
		hightlight.gameObject.SetActive( false );

		// Close UI
		ui_Manager.MemberPanel_Controller.ClosePanel();
	}
	private void SelectMember( MemberScript selectedMember )
	{
		m_selectedMember = selectedMember;
		selectedMember.SetSelected();

		hightlight.gameObject.SetActive( true );
		hightlight.position = selectedMember.transform.position;
		hightlight.parent = selectedMember.transform;

		ui_Manager.MemberPanel_Controller.DisplayPanel(selectedMember);
	}